How to reverse the order of elements in deque using C++

2 Answers

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

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

template <typename T>
inline void print(const T& obj)
{
	for (auto element : obj) {
		cout << element << ' ';
	}
	cout << endl;
}

int main()
{
	std::deque<int> dq(5);   
	std::deque<int>::size_type size = dq.size();

	for (unsigned i = 0; i < size; i++) dq[i] = i;
	
	print(dq);

	for (unsigned i = 0; i < size / 2; i++)
	{
		int tmp;
		
		tmp = dq[size - 1 - i];
		dq[size - 1 - i] = dq[i];
		dq[i] = tmp;
	}

	print(dq);

	return 0;
}

/*
run:

0 1 2 3 4
4 3 2 1 0

*/

 



answered Feb 22, 2018 by avibootz
0 votes
#include <iostream>
#include <deque>

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

template <typename T>
inline void print(const T& obj)
{
	for (auto element : obj) {
		cout << element << ' ';
	}
	cout << endl;
}

int main()
{
	std::deque<int> dq(5);   
	std::deque<int>::size_type size = dq.size();

	for (unsigned i = 0; i < size; i++) dq[i] = i;
	
	print(dq);

	std::reverse(dq.begin(), dq.end());

	print(dq);

	return 0;
}

/*
run:

0 1 2 3 4
4 3 2 1 0

*/

 



answered Feb 22, 2018 by avibootz

Related questions

1 answer 155 views
1 answer 200 views
200 views asked Jul 22, 2020 by avibootz
2 answers 267 views
1 answer 204 views
1 answer 191 views
1 answer 155 views
...