logo

Iteratoren in C++ STL

Voorwaarde : Inleiding tot iteratoren
Iterators worden gebruikt om naar de geheugenadressen van te verwijzen STL containers. Ze worden voornamelijk gebruikt in reeksen cijfers, tekens enz. Ze verminderen de complexiteit en uitvoeringstijd van het programma.

Bewerkingen van iteratoren :-



1. begin() : - Deze functie wordt gebruikt om de beginpositie van de houder.

2. einde() : - Deze functie wordt gebruikt om de na eindpositie van de houder.








// C++ code to demonstrate the working of> // iterator, begin() and end()> #include> #include // for iterators> #include // for vectors> using> namespace> std;> int> main()> {> >vector<>int>>met = { 1, 2, 3, 4, 5 };> > >// Declaring iterator to a vector> >vector<>int>>::iterator ptr;> > >// Displaying vector elements using begin() and end()> >cout <<>'The vector elements are : '>;> >for> (ptr = ar.begin(); ptr cout << *ptr << ' '; return 0; }>

>

>

Uitgang:

 The vector elements are : 1 2 3 4 5>

3. vooruit() : - Deze functie wordt gebruikt verhoog de iteratorpositie tot het opgegeven aantal dat in de argumenten wordt vermeld.




// C++ code to demonstrate the working of> // advance()> #include> #include // for iterators> #include // for vectors> using> namespace> std;> int> main()> {> >vector<>int>>met = { 1, 2, 3, 4, 5 };> > >// Declaring iterator to a vector> >vector<>int>>::iterator ptr = ar.begin();> > >// Using advance() to increment iterator position> >// points to 4> >advance(ptr, 3);> > >// Displaying iterator position> >cout <<>'The position of iterator after advancing is : '>;> >cout << *ptr <<>' '>;> > >return> 0;> > }>

>

>

Uitgang:

 The position of iterator after advancing is : 4>

4. volgende() : - Deze functie retourneert de nieuwe iterator waarnaar de iterator zou verwijzen het bevorderen van de posities genoemd in zijn argumenten.

5. vorige() : - Deze functie retourneert de nieuwe iterator dat de iterator zou wijzen na het verlagen van de posities genoemd in zijn argumenten.




// C++ code to demonstrate the working of> // next() and prev()> #include> #include // for iterators> #include // for vectors> using> namespace> std;> int> main()> {> >vector<>int>>met = { 1, 2, 3, 4, 5 };> > >// Declaring iterators to a vector> >vector<>int>>::iterator ptr = ar.begin();> >vector<>int>>::iterator ftr = ar.end();> > > >// Using next() to return new iterator> >// points to 4> >auto> it = next(ptr, 3);> > >// Using prev() to return new iterator> >// points to 3> >auto> it1 = prev(ftr, 3);> > >// Displaying iterator position> >cout <<>'The position of new iterator using next() is : '>;> >cout << *it <<>' '>;> >cout << endl;> > >// Displaying iterator position> >cout <<>'The position of new iterator using prev() is : '>;> >cout << *it1 <<>' '>;> >cout << endl;> > >return> 0;> }>

>

karakter in tekenreeks
>

Uitgang:

 The position of new iterator using next() is : 4 The position of new iterator using prev() is : 3>


6. invoegen()
: - Deze functie wordt gebruikt plaats de elementen op elke positie in de houder. Het accepteert 2 argumenten, de container en iterator naar positie waar de elementen moeten worden ingevoegd .




// C++ code to demonstrate the working of> // inserter()> #include> #include // for iterators> #include // for vectors> using> namespace> std;> int> main()> {> >vector<>int>>met = { 1, 2, 3, 4, 5 };> >vector<>int>>ar1 = {10, 20, 30};> > >// Declaring iterator to a vector> >vector<>int>>::iterator ptr = ar.begin();> > >// Using advance to set position> >advance(ptr, 3);> > >// copying 1 vector elements in other using inserter()> >// inserts ar1 after 3rd position in ar> >copy(ar1.begin(), ar1.end(), inserter(ar,ptr));> > >// Displaying new vector elements> >cout <<>'The new vector after inserting elements is : '>;> >for> (>int> &x : ar)> >cout << x <<>' '>;> > >return> 0;> }>

>

>

Uitgang:

 The new vector after inserting elements is : 1 2 3 10 20 30 4 5>

Soorten iteratoren:

  1. Invoeriteratoren
  2. Uitvoeriteratoren
  3. Voorwaartse iterator
  4. Bidirectionele iteratoren
  5. Iteratoren met willekeurige toegang