Use reverse_iterator and iterator with list
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */ #include <iostream> #include <list> #include <algorithm> using namespace std; int main() { list<int> coll; // insert elements from 1 to 9 for (int i=1; i<=9; ++i) { coll.push_back(i); } // find position of element with value 5 list<int>::iterator pos; pos = find (coll.begin(), coll.end(), // range 5); // value // print value of the element cout << "pos: " << *pos << endl; // convert iterator to reverse iterator list<int>::reverse_iterator rpos(pos); // print value of the element to which the reverse iterator refers cout << "rpos: " << *rpos << endl; // convert reverse iterator back to normal iterator list<int>::iterator rrpos; rrpos = rpos.base(); // print value of the element to which the normal iterator refers cout << "rrpos: " << *rrpos << endl; } /* pos: 5 rpos: 4 rrpos: 5 */
1. | Use iterator to loop through all elements in a list | ||
2. | Use iterator to change all elements in a list | ||
3. | Loop through list back and forth | ||
4. | Move list iterator using ++ | ||
5. | Traverse a List Using an Iterator |