This C++ program demonstrates the use of bidirectional iterator on vector container. A bidirectional iterator is one which can sequentially iterate through a container in both the directions. C++ provides two such non-const iterators – reverse_iterator and iterator.
Here is the source code of the C++ program demonstrates bidirectional iterator on vector container. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.
/*
* C++ Program to Demonstrate Bidirectional Iterator on vector container
*/
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v(10);
std::vector<int>::iterator i;
std::vector<int>::reverse_iterator ri;
for (int i = 0; i < 10; i++)
v[i] = i;
// Straight traversal using iterator
std::cout << "Straight vector traversal using iterator "
<< std::endl;
for (i = v.begin(); i != v.end(); i++)
std::cout << *i << " ";
// Straight traversal using reverse_iterator
std::cout << "\nStraight vector traversal using reverse_iterator "
<< std::endl;
for (ri = v.rend() - 1; ri != v.rbegin() - 1; ri--)
std::cout << *ri << " ";
// Reverse traversal using iterator
std::cout << "\nReverse vector traversal using iterator"
<< std::endl;
for (i = v.end() - 1; i != v.begin() - 1; i--)
std::cout << *i << " ";
// Reverse traversal using reverse_iterator
std::cout << "\nReverse vector traversal using reverse_iterator "
<< std::endl;
for (ri = v.rbegin(); ri != v.rend(); ri++)
std::cout << *ri << " ";
}
$ ./a.out Straight vector traversal using iterator 0 1 2 3 4 5 6 7 8 9 Straight vector traversal using reverse_iterator 0 1 2 3 4 5 6 7 8 9 Reverse vector traversal using iterator 9 8 7 6 5 4 3 2 1 0 Reverse vector traversal using reverse_iterator 9 8 7 6 5 4 3 2 1 0
Sanfoundry Global Education & Learning Series – 1000 C++ Programs.
advertisement
If you wish to look at all C++ Programming examples, go to C++ Programs.
Related Posts:
- Practice Computer Science MCQs
- Apply for C++ Internship
- Check Computer Science Books
- Check Programming Books
- Apply for Computer Science Internship