How to print all elements in range in reverse order from a deque in C++

1 Answer

0 votes
#include <iostream>
#include <deque>
#include <algorithm>

using std::deque;
using std::cout;
using std::endl;

void print(int element)
{
	cout << element << ' ';
}

int main()
{
	deque<int> dq = { 1, 3, 8, 23, 88, 12, 99, 7 };

	deque<int>::const_iterator pos1, pos2;

	pos1 = find(dq.cbegin(), dq.cend(), 8);
	pos2 = find(dq.cbegin(), dq.cend(), 12);

	deque<int>::const_reverse_iterator rpos1(pos1);
	deque<int>::const_reverse_iterator rpos2(pos2);

	for_each(rpos2 - 1, rpos1, print);   

	cout << endl;

}


/*
run:

12 88 23 8

*/

 



answered Jan 22, 2018 by avibootz

Related questions

1 answer 184 views
2 answers 225 views
1 answer 200 views
200 views asked Jul 22, 2020 by avibootz
1 answer 204 views
1 answer 173 views
1 answer 170 views
1 answer 183 views
...