C++/Deque/deque pop
list operations on a deque
#include <string>
#include <deque>
#include <algorithm>
#include <iostream>
using namespace std;
void print( deque<string> );
int main()
{
deque<string> animals;
animals.push_back( "A" );
animals.push_back( "B" );
animals.push_front( "C" );
animals.push_front( "D" );
print(animals);
animals.pop_front();
animals.pop_back();
print(animals);
//list operations on a deque:
animals.erase(find( animals.begin(), animals.end(), "E" ));
print(animals);
animals.insert( animals.begin(), "F" );
print(animals);
int sz = animals.size();
animals.resize( 5 );
animals[sz] = "G";
animals[sz+1] = "H";
animals[sz+2] = "I";
print( animals );
animals.erase( animals.begin() + 2 );
print( animals );
//sorting a deque:
sort( animals.begin(), animals.end() );
print( animals );
return 0;
}
void print( deque<string> d ) {
typedef deque<string>::const_iterator CI;
cout << "The number of items in the deque:" << d.size() << endl;
for ( CI iter = d.begin(); iter != d.end(); iter++ )
cout << *iter << " ";
cout << endl << endl;
}
Remove first and last element
/* The following code example is taken from the book
* "The C++ Standard Library - A Tutorial and Reference"
* by Nicolai M. Josuttis, Addison-Wesley, 1999
*
* (C) Copyright Nicolai M. Josuttis 1999.
* Permission to copy, use, modify, sell and distribute this software
* is granted provided this copyright notice appears in all copies.
* This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose.
*/
#include <iostream>
#include <deque>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
// create empty deque of strings
deque<string> coll;
// insert several elements
coll.assign (3, string("string"));
coll.push_back ("last string");
coll.push_front ("first string");
// print elements separated by newlines
copy (coll.begin(), coll.end(),ostream_iterator<string>(cout,"\n"));
cout << endl;
// remove first and last element
coll.pop_front();
coll.pop_back();
// print elements separated by newlines
copy (coll.begin(), coll.end(),ostream_iterator<string>(cout,"\n"));
cout << endl;
}
/*
first string
string
string
string
last string
string
string
string
*/