「std::deque」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「std::deque とは、Dobule Ended Queue の略です。双方向キュー、両端キューなどと呼ばれるデータ構造のSTL コンテナです。de...」)
(相違点なし)

2014年7月13日 (日) 01:10時点における版

std::deque とは、Dobule Ended Queue の略です。双方向キュー、両端キューなどと呼ばれるデータ構造のSTL コンテナです。dequeは、FIFOとFIFOの両方に対応したデータ構造です。

読み方

std::deque
えすてぃーでぃー でっく
double ended queue
だぶる えんでっど きゅー

概要

発音は、「デキュー」ではありません。

デックのシンプルな例 deque1.cpp の例

ソースコード deque1.cpp

/*
 * deque1.cpp
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
 
#include <iostream>
#include <deque>
using namespace std;
 
template<typename T> void
print(deque<T>& d) {
        for(auto x: d) {
                cout << x << " ";
        }
        cout << endl;
}
int
main(int argc, char const* argv[])
{
        deque<int> d1;
 
        d1.push_back(1);
        d1.push_back(2);
        d1.push_back(3);
        d1.push_back(4);
        d1.push_front(0);
        print<int>(d1); // 0 1 2 3 4
 
        d1.pop_back();
        d1.pop_front();
        print<int>(d1); // 1 2 3
 
        d1.front() = 0;
        d1.back() = 9999;
        print<int>(d1); // 0 2 9999
 
        return 0;
}

コンパイル

g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \
-Wl,-rpath=/usr/local/lib/gcc49  deque1.cpp -o deque1

実行例

% ./deque1
0 1 2 3 4
1 2 3
0 2 9999

関連項目