第84章 dequeコンテナ


queコンテナは、データを最後に追加し、最初から取得しました。これに対してdequeコンテナは、データを先頭と末尾の両方に追加・削除ができます。また、中間のデータを読んだり、中間のデータの挿入・削除ができます。queコンテナは、反復子が使えませんでしたが、dequeでは使用できます。また、逆方向反復子も使用できます。



push_back()メンバ関数はデータを末尾に追加します。
push_front()メンバ関数はデータを先頭に追加します。
pop_back()メンバ関数は末尾のデータを削除します。
pop_front()メンバ関数は先頭のデータを削除します。
insert()メンバ関数でデータを任意の位置に挿入します。
では、簡単な例を見てみましょう。
// deque01.cpp

#include <iostream>
#include <deque>

using namespace std;

int main()
{
    deque<int> dq;
    deque<int>::iterator p;
    deque<int>::reverse_iterator r;

    int i, n;

    while (1) {
        cout << "整数値を入力(0で終了)---";
        cin >> n;
        if (n == 0)
            break;
        dq.push_back(n);
    }
    cout << "入力順表示" << endl;
    for (p = dq.begin(); p != dq.end(); p++)
        cout << *p << endl;

    cout << "逆順表示" << endl;
    for (r = dq.rbegin(); r != dq.rend(); r++)
        cout << *r << endl;

    cout << "添え字で表示" << endl;
    for (i = 0; i < (int)dq.size(); i++)
        cout << "dq[" << i << "] = " << dq[i] << endl;

    return 0;
}
では、実行結果を見てみましょう。 入力順に表示したり、逆順に表示できます。添え字で表すこともできますね。



今回も簡単でした。


[C++Index] [総合Index] [Previous Chapter] [Next Chapter]

Update Sep/21/2004 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。