template <class T, class Container = deque<T>> class queue
#include <queue> using namespace std; queue <T> 変数名; queue<int> x; // 空の queue queue<int> x(y); // queue y で初期化,C++11
queue<pair<int, double>> q; q.emplace(5, 3.14); q.emplace(make_pair(5, 3.14)); // q.push(10, 1.23); // error q.push(make_pair(10, 1.23)); while (!q.empty()) { cout << "(" << q.front().first << ", " << q.front().second << ")"<< endl; q.pop(); } cout << endl;
== < <= != > >=
#include <iostream> #include <queue> using namespace std; void print(queue<int> &q) { if (q.empty()) cout << " queue は空です\n"; else cout << " 先頭及び最後尾の要素: " << q.front() << " " << q.back() << endl; } int main() { queue<int> q; // push cout << "**push**\n"; q.push(1); // q.emplace(1); print(q); q.push(3); // q.emplace(3); print(q); q.push(2); // q.emplace(2); print(q); // swap cout << "**swap**\n"; queue<int> q1; q1.swap(q); print(q); // pop cout << "**pop**\n"; q1.pop(); print(q1); q1.pop(); print(q1); q1.pop(); print(q1); return 0; }
**push** 先頭及び最後尾の要素: 1 1 先頭及び最後尾の要素: 1 3 先頭及び最後尾の要素: 1 2 **swap** queue は空です **pop** 先頭及び最後尾の要素: 3 2 先頭及び最後尾の要素: 2 2 queue は空です
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |