C++ コンテナクラス<queue>
C++ 標準ライブラリの<queue>ヘッダーファイルはキュー(Queue)データ構造の実装を提供します。キューは先入れ先出し(FIFO, First In First Out)のデータ構造であり、一端(末尾と呼ばれます)で要素を追加し、もう一端(先頭と呼ばれます)で要素を削除することができます。
キューは線形データ構造であり、以下の規則に従います:
- 要素は末尾からのみ追加できます。
- 要素は先頭からのみ削除できます。
構文
C++ におけるキュー(queue)の構文は次のとおりです:
#include <queue> // 声明队列 std::queue<Type> q;
ここでTypeはキューに格納される要素のデータ型です。
一般的な操作
キューは以下の一般的な操作を提供します:
empty(): キューが空かどうかを確認します。size(): キュー内の要素数を返します。front(): 先頭要素への参照を返します。back(): 末尾要素への参照を返します。push(): 末尾に要素を追加します。pop(): 先頭要素を削除します。
例
以下は、C++ 標準ライブラリ<queue>を使用した簡単な例です:
例
#include <iostream>
#include <queue>
int main() {
// 整数キューを作成する
std::queue<int> q;
// キューに要素を追加する
q.push(10);
q.push(20);
q.push(30);
// キュー内の要素数を出力する
std::cout << "キュー内の要素数: " << q.size() << std::endl;
// 先頭要素を出力する
std::cout << "先頭要素: " << q.front() << std::endl;
// 末尾要素を出力する
std::cout << "末尾要素: " << q.back() << std::endl;
// 先頭要素を削除する
q.pop();
std::cout << "先頭要素の削除後、先頭要素: " << q.front() << std::endl;
// 再度キュー内の要素数を出力する
std::cout << "キュー内の要素数: " << q.size() << std::endl;
return 0;
}
#include <queue>
int main() {
// 整数キューを作成する
std::queue<int> q;
// キューに要素を追加する
q.push(10);
q.push(20);
q.push(30);
// キュー内の要素数を出力する
std::cout << "キュー内の要素数: " << q.size() << std::endl;
// 先頭要素を出力する
std::cout << "先頭要素: " << q.front() << std::endl;
// 末尾要素を出力する
std::cout << "末尾要素: " << q.back() << std::endl;
// 先頭要素を削除する
q.pop();
std::cout << "先頭要素の削除後、先頭要素: " << q.front() << std::endl;
// 再度キュー内の要素数を出力する
std::cout << "キュー内の要素数: " << q.size() << std::endl;
return 0;
}
出力結果:
队列中的元素数量: 3 队首元素: 10 队尾元素: 30 移除队首元素后,队首元素: 20 队列中的元素数量: 2
C++ の<queue>標準ライブラリは、キュー(queue)データ構造を実装するための便利な方法を提供します。キューを使用することで、特定の順序で処理する必要がある要素の集合を効率的に管理できます。この記事が、初心者が C++ におけるキューをよりよく理解し使用するのに役立つことを願っています。
注意事項
- キューは要素へのランダムアクセスを許可しません。つまり、インデックスを使用してキュー内の要素に直接アクセスすることはできません。
- キューの実装は通常、リンクリストまたは動的配列を使用します。これは具体的な実装によって異なります。