Deque和Vector类似,只不过deque头尾都开放,能够在头尾进行快速插入和删除操作
DequeTest.cpp
#include <iostream> #include <deque> #include <string> #include <algorithm> #include <iterator> #include "DequeTest.h" using namespace std; void DequeTest::simpleOperation() { // 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.cbegin(), coll.cend(), ostream_iterator<string>(cout, "\n")); cout << endl; // remove first and last element coll.pop_front(); coll.pop_back(); // insert "another" into every element but the first for (unsigned i = 1; i<coll.size(); ++i) { coll[i] = "another " + coll[i]; } // change size to four elements coll.resize(4, "resized string"); // print elements separated by newlines copy(coll.cbegin(), coll.cend(), ostream_iterator<string>(cout, "\n")); } void DequeTest::run() { printStart("simpleOperation()"); simpleOperation(); printEnd("simpleOperation()"); }
运行结果:
---------------- simpleOperation(): Run Start ----------------
first string
string
string
string
last string
string
another string
another string
resized string
---------------- simpleOperation(): Run End ----------------