STL-队列 快速实现
队列即是一种简单数据结构,满足先进先出原则,即是FIFO。
头文件:#include <queue>
一、基本操作
1、创建
queue<int> q;//创建一个空的队列对象q,数据元素为int类型
2、入队
push(x);//将x插入队列
3、出队
pop();//出队
4、取队首和队尾元素
(1)front();//取队首元素并返回该值
(2)back();//取队尾元素并返回该值
5、判空及队列长度
(1)empty(); //为空时返回true,否则返回false
(2)size();//返回队列的长度;
6、结构体队列
struct node
{
int x, y;
};
queue<node>q;
二、实例
代码块
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue<int> q;//创建队列
int n;
cin>>n;
for(int i = 1;i<=n;i++)
if(!(i%2))
q.push(i);//入队
else if(!(i%4))
{
cout<<q.front()<<endl;//输出队首元素
q.pop();//出队
}
cout<<endl;
while(!q.empty())//判断队列是否为空
{
cout<<q.front()<<endl;
q.pop();
}
return 0;
}