头文件:
#include<queue>
队列:“先进先出”,即只能在容器的末尾添加新元素,只能从头部移除元素。
queue 的生成方式和 stack 相同:
queue<typename> name;
- queue 容器内元素的访问:只能通过front()来访问队首元素,或是通过back()访问队尾元素,时间复杂度为O(1)
queue<int> q;
for(int i=0;i<5;i++){
q.push(i);
}
cout<<q.front()<<" "<<q.back()<<endl;
//1 4
- push(x):将x进行入队操作,时间复杂度为O(1)
- pop():令队首元素出队,无返回值,时间复杂度为O(1)
//1 2 3 4
q.pop();
cout<<q.front()<<endl;
//2
- empty():检测queue是否为空,返回true为空,返回false为非空,时间复杂度为O(1)
if(q.empty()==true) cout<<"empty"<<endl;
while(!q.empty()){
q.pop();
}
- size():返回queue 内元素的个数,时间复杂度为O(1)
//1 2 4
cout<<q.size()<<endl;
//3