本篇文章之所以诞生,是由于在刷PAT时需要掌握STL模板库,所以特意测试学习了常用的方法。仅适用于G++环境下的单线程单文档情况。对于多文档多线程情况不保证正确性。如果你是只想在数据结构与算法比赛中多拿一些AC而学习STL,小码农自认它还是挺好的。如果是项目需要而学习STL,还是建议读官方文档。
如果你觉得博文状态下阅读费劲,可以去我的github下载源码。如果出现对不齐的情况,把编辑器Tab键缩进设置成4个就可以了。欢迎指点评论。
#include <bits/stdc++.h>
using namespace std;
/*
下面的注释:
1)DT : data type
*/
/*
由于队列是FIFO结构,所以不存在迭代器,且只能在队列首尾进行操作。
*/
int main()
{
/*
1、创建:
默认创建: queue<int> q1;
拷贝创建: queue<int> q2(ano);
*/
queue<int> q1;
queue<int> q2(q1);
/*
2、插入:void push()
*/
for(int i = 0; i < 10; i++)
q1.push(i);
/*
3、访问但不删除队首元素:DT front();
*/
cout << q1.front() << endl;
/* Console: 0 */
/*
4、删除但不访问队首元素:void pop();
*/
q1.pop();
cout << q1.front() << endl;
/* Console: 1 */
/*
5、判断是否为空:bool empty();
*/
cout << q1.empty() << " " << q2.empty() << endl;
/* Console: 0 1 */
/*
6、队列中元素的个数:int size()
*/
cout << q1.size() << endl;
/* Console: 9 */
return 0;
}