हिंदी माध्यम नोट्स
Categories: c++ language in hindi
Iterator Type in c++ language , Input Iterator , Output , Forward , Bidirectional , Random Access Iterator
इससे पहले के article मे , Iterator को discuss किया था अब इस article मे , Iterator के type को discuss करेगे |
Iterator Categories
किसी Iterator के type निन्म है : –
Input Iterator
Output Iterator
Forward Iterator
Bidirectional Iterator
Random Access Iterator
Input Iterator:
इस input Iterator एक Iterator है जिसका use किसी container के element को access करने के लिए किया जाता है |लेकिन इनकी value को modify नहीं किया जा सकता है |
input Iterator पर निन्म operation को फॉलो किया जाता है :-
Operator (++) : इस operation मे , iterator को एक से increament किया जाता है | अतः iterator किसी data type के next data को point करता है |
Operator (==) and Operator (!=) : इस operator का use ये check करने के लिए किया जाता है की दो iterator एक ही position को point करते है या नहीं |
Operator (=) : इस operation का use किसी iterator मे value को assign करने के लिए किया जाता है |
Output Iterator:
output Iterator का use किसी container की value को modify करने के लिए किया जाता है | लेकिने in value को कभी कभी भी access या read नहीं कियता जा सकता है | इसलिए Output Iterator का use केवल write-only iterator होता है |
Output Iterator पर निन्म operation को फॉलो किया जाता है :-
Operator (++) : इस operation मे , iterator को एक से increament किया जाता है | अतः iterator किसी data type के next data को point करता है |
Operator (=) : इस operation का use किसी iterator मे value को assign करने के लिए किया जाता है |
Forward Iterator:
इस Iterator का use किसी container की value को read और write करने के लिय किया जाता है | इससे multi pass Iterator कहते है |
Forward Iterator पर निन्म operation को फॉलो किया जाता है :-
Operator (++) : इस operation मे , iterator को एक से increament किया जाता है | अतः iterator किसी data type के next data को point करता है |
Operator (==) and Operator (!=) : इस operator का use ये check करने के लिए किया जाता है की दो iterator एक ही position को point करते है या नहीं |
Operator (=) : इस operation का use किसी iterator मे value को assign करने के लिए किया जाता है |
Bidirectional iterator:
इस iterator मे Forward Iterator की सभीcapability को add किया गया है इसके अलावा इस Iterator मे एक और capability decrement को add किया गया है decrement operator(–): इसका use किसी container मे value को backward डायरेक्शन मे access करने के लिए किया जाता है |
Bidirectional Iterator पर निन्म operation को फॉलो किया जाता है :-
Operator (++) : इस operation मे , iterator को एक से increament किया जाता है | अतः iterator किसी data type के next data को point करता है |
Operator (==) and Operator (!=) : इस operator का use ये check करने के लिए किया जाता है की दो iterator एक ही position को point करते है या नहीं |
Operator (=) : इस operation का use किसी iterator मे value को assign करने के लिए किया जाता है |
Decrement operator(–) : इस operation मे , iterator को एक से decreament किया जाता है | अतः iterator किसी data type के पिछला data को point करता है |
Random Access Iterator:
A Random Access iterator एक iterator है जिसका use किसी container के value को random access करने केलिए किया जाता है |इसमें Bidirectional iterator के सभी गुण को add किया गया है इसके अलावा इसमें pointer addition and pointer subtraction को add किया जग्य है जिसका use किसी container के data को random access के लिए use किया जाता है |
#include <iostream>
#include<vector>
#include<iterator>
using namespace std;
int main()
{
vector<int> v{1,2,3,4,5};
vector<int>::iterator i;
for(int i=0;i<5;i++) // Traversal without using an iterator.
{
cout<<v[i]<<” “;
}
cout<<‘\n’;
for(i=v.begin();i!=v.end();i++) // Traversal by using an iterator.
{
cout<<*i<<” “;
}
v.push_back(10);
cout<<‘\n’;
for(int i=0;i<6;i++)
{
cout<<v[i]<<” “;
}
cout<<‘\n’;
for(i=v.begin();i!=v.end();i++)
{
cout<<*i<<” “;
}
return 0;
}
जब इस code को execute किया जाता है तब इसका आउटपुट निन्म होगा :-
Output:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5 10
1 2 3 4 5 10
इस code मे , vector के सभी element को जब iterator के बिना traverse किया जाता है तब हमे ये ट्रैक करना पड़ता है की container मे कितनी value को add किया गया है | लेकिन iterator के साथ एस नहीं करना होता है |
Code Reusability:
जब हम किसी iterator को use करते है तब code को reuse किया जा सकता है | upper वाले code मे vector को लिस्ट से replace कर देते है | तब operator [] से किसी लिस्ट के element को random access नहीं किया जा सकता है | लेकिन जब हम iterator को use करते है तब इस लिस्ट के element को access किया जा सकता है |
Dynamic Processing:
c++ iterator का use किसी लिस्ट मे data value को add और डिलीट करने की facility भी होती है इससे Dynamic Processing कहते है |
code :
#include <iostream>
#include<vector>
#include<iterator>
using namespace std;
void main()
{
vector<int> b{1,2,3,4,5}; // vector declaration
vector<int>::iterator j;
b.insert(b.begin()+1,10);
for(j=b.begin();j=b.end();j++)
{
cout<<*j<<” “;
}
getch();
}
Output:
1 10 2 3 4 5
इस article मे iterator के type को discuss किया है अब आगे के article मे c++ language के advance concept को discuss किया गया है |
Recent Posts
सारंगपुर का युद्ध कब हुआ था ? सारंगपुर का युद्ध किसके मध्य हुआ
कुम्भा की राजनैतिक उपलकियाँ कुंमा की प्रारंभिक विजयें - महाराणा कुम्भा ने अपने शासनकाल के…
3 weeks ago
रसिक प्रिया किसकी रचना है ? rasik priya ke lekhak kaun hai ?
अध्याय- मेवाड़ का उत्कर्ष 'रसिक प्रिया' - यह कृति कुम्भा द्वारा रचित है तथा जगदेय…
3 weeks ago
मालकाना का युद्ध malkhana ka yudh kab hua tha in hindi
malkhana ka yudh kab hua tha in hindi मालकाना का युद्ध ? मालकाना के युद्ध…
2 months ago
कान्हड़देव तथा अलाउद्दीन खिलजी के संबंधों पर प्रकाश डालिए
राणा रतन सिंह चित्तौड़ ( 1302 ई. - 1303 ) राजस्थान के इतिहास में गुहिलवंशी…
2 months ago
हम्मीर देव चौहान का इतिहास क्या है ? hammir dev chauhan history in hindi explained
hammir dev chauhan history in hindi explained हम्मीर देव चौहान का इतिहास क्या है ?…
2 months ago
तराइन का प्रथम युद्ध कब और किसके बीच हुआ द्वितीय युद्ध Tarain battle in hindi first and second
Tarain battle in hindi first and second तराइन का प्रथम युद्ध कब और किसके बीच…
2 months ago