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

提供: C++入門
移動: 案内検索
(ページの作成:「std::queue とは、FIFO(ファーストイン ファーストアウト)のキューを実現するコンテナです。 '''読み方''' ;std::queue:えす...」)
 
(相違点なし)

2014年7月13日 (日) 00:47時点における最新版

std::queue とは、FIFO(ファーストイン ファーストアウト)のキューを実現するコンテナです。

読み方

std::queue
えすてぃーでぃー きゅー

概要

キュー(queue)は、いわゆる待ち行列です。 キューは、最初に入れられたものが最初に取り出されます。先入れ先だしのリスト構造でデータを保持します。 取り出された値は、キューから削除されます。 キューへのデータ追加は、キューの一番後ろです。

簡単な例をあげるとレジに並んでいる人です。列の最初に並んだ人が最初にレジで対応してもらいます。あとから来た人は、列の一番後ろに並びます。

キューの追加

pushで列の後ろに追加します。

push();

キューの取り出し

最初の値を取り出します。キューから削除はされません。

front();

キューの削除

popでキューの先頭を削除します。

pop();

std::queueの単純な例 queue1.cpp

ソースコード queue1.cpp

/*
 * queue1.cpp
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
 
#include <iostream>
#include <queue>
using namespace std;
int
main(int argc, char const* argv[])
{
        queue<int> q1;
 
        q1.push (1);
        q1.push (2);
        q1.push (3);
 
        cout << q1.front() << endl;
        q1.pop();
        cout << q1.front() << endl;
        q1.pop();
        cout << q1.front() << endl;
        q1.pop();
 
        return 0;
}

コンパイル

c++  queue1.cpp -o queue1

実行例

% ./queue1
1
2
3

キューが空かどうかを確認する例 queue_empty1.cpp

empty()でキューがからかどうか確認できます。

ソースコード queue_empty1.cpp

/*
 * queue_empty1.cpp
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
 
#include <iostream>
#include <queue>
using namespace std;
int
main(int argc, char const* argv[])
{
        queue<int> q1;
        queue<int> q2;
 
        q1.push (1);
        q1.push (2);
        q1.push (3);
 
        cout << "q1: " << q1.empty() << endl; // 0
        cout << "q2: " << q2.empty() << endl; // 1
 
        return 0;
}

コンパイル

c++  queue_empty1.cpp -o queue_empty1

実行例

% ./queue_empty1
q1: 0
q2: 1


関連項目