#include <stdio.h>
#include <queue>
#include <algorithm>
using namespace std;
int main(int argc, char** argv)
{
//deque没有迭代器,stack也没有,因此都不能排序
//deque插入元素只能从尾部插入,弹出智能从头部弹出
//创建单向队列
queue<int> q;
printf("size(): %d\n", q.size());
printf("empty(): %d\n", q.empty());
//队尾插入元素
q.push(1);
q.push(2);
q.emplace(3);
//从单向队列头部弹出元素
q.pop();
//返回队首元素
printf("front(): %d\n", q.front());
//返回队尾元素
printf("back(): %d\n", q.back());
printf("size(): %d\n", q.size());
printf("empty(): %d\n", q.empty());
//交换元素
queue<int> qTemp;
qTemp.swap(q);
//返回队首元素
//printf("front(): %d\n", q.front()); //出错
//返回队尾元素
//printf("back(): %d\n", q.back()); //出错
//返回队首元素
printf("front(): %d\n", qTemp.front());
//返回队尾元素
printf("back(): %d\n", qTemp.back());
getchar();
return 0;
}
运行结果为:
size(): 0
empty(): 1
front(): 2
back(): 3
size(): 2
empty(): 0
front(): 2
back(): 3