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 は空です
| 菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |