Demonstrate swap() for deque : Deque « Data Structure « C++






Demonstrate swap() for deque

Demonstrate swap() for deque

#include <iostream>
#include <deque>
using namespace std;

int main()
{
  deque<char> dequeObject1, dequeObject2;
  int i;

  for(i = 0; i <26; i++) 
     dequeObject1.push_back(i+'A');
  for(i = 0; i <10; i++) 
     dequeObject2.push_front(i+'0');

  cout << "Size of dequeObject1 and dequeObject2: ";
  cout << dequeObject1.size() << " " << dequeObject2.size() << endl;

  cout << "dequeObject1: ";
  for(i = 0; i <dequeObject1.size(); i++)
    cout << dequeObject1[i];
  cout << endl;

  cout << "dequeObject2: ";
  for(i = 0; i <dequeObject2.size(); i++)
    cout << dequeObject2[i];
  cout << "\n\n";

  // swap deques using member function.
  dequeObject1.swap(dequeObject2);

  cout << "Size of dequeObject1 and dequeObject2 after first swap: ";
  cout << dequeObject1.size() << " " << dequeObject2.size() << endl;

  cout << "dequeObject1 after first swap: ";
  for(i = 0; i <dequeObject1.size(); i++)
    cout << dequeObject1[i];
  cout << endl;

  cout << "dequeObject2 after first swap: ";
  for(i = 0; i <dequeObject2.size(); i++)
    cout << dequeObject2[i];
  cout << "\n\n";

  swap(dequeObject1, dequeObject2);

  cout << "Size of dequeObject1 and dequeObject2 after second swap: ";
  cout << dequeObject1.size() << " " << dequeObject2.size() << endl;

  cout << "dequeObject1 after second swap: ";
  for(i = 0; i <dequeObject1.size(); i++)
    cout << dequeObject1[i];
  cout << endl;

  cout << "dequeObject2 after second swap: ";
  for(i = 0; i <dequeObject2.size(); i++)
    cout << dequeObject2[i];
  cout << endl;

  return 0;
}


           
       








Related examples in the same category

1.One way to reverse-copy a deque.One way to reverse-copy a deque.
2.Use reverse iterators.Use reverse iterators.
3.Reverse iterators and copy.Reverse iterators and copy.
4.Assigning deque objects.Assigning deque objects.
5.Demonstrate resize() for dequeDemonstrate resize() for deque
6.Iterator values may change.Iterator values may change.
7.Demonstrate raw storage iteratorsDemonstrate raw storage iterators
8.Demonstrate a deque.Demonstrate a deque.
9.Deque: push, pop, sort, find, begin, end, insertDeque: push, pop, sort, find, begin, end, insert