STL - 容器 - Deque

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 ----------------

 

posted @ 2015-10-14 10:13  Master HaKu  阅读(142)  评论(0编辑  收藏  举报