Iterator
An iterator is a variable that points to an element in a data structure.
We often use the begin() and end() iterators define a range that contains all elements in a data structure
beginpoints to the first element in the data structure- IMPORTANT:
endpoints to the position after the last element
iterator
std::vector<int>::iterator it;
Examples
Using C++ Iterator
sort(v.begin(), v.end());
reverse(v.begin(), v.end());
random_shuffle(v.begin(), v.end());set::iterator it = s.begin();
// OR Simpler/Shorter
auto it = s.begin();The element to which an iterator points can be accessed using the * symbol. For example, the following code prints the first element in the set:
auto it = s.begin();
cout << *it << "\n"; Iterators can be moved using the operators ++ (forward) and — (backward).
//Prints all the elements in increasing order using iterator
for (auto it = s.begin(); it != s.end(); it++) { cout << *it << "\n"; } The following code prints the largest element in the set:
auto it = s.end();
it--;
cout << *it << "\n";If you want to better see how to implement your own iterators as learned in CS247, see Iterator Design Pattern.