一种操作受限制的线性表
特点只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作
队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构
排队 挂号 消息队列 广度优先搜索等符合队列特点的操作
常用函数queue例题q; //以int型为例 int x; q.empty() 如果队列为空返回true,否则返回false q.size() 返回队列中元素的个数 q.pop() 删除队列首元素但不返回其值 q.front() 返回队首元素的值,但不删除该元素 q.push(x) 在队尾压入新元素 q.back() 返回队列尾元素的值,但不删除该元素
模拟队列 AcWing - 829
#include#define int long long #define rep(i, a, b) for(int i=a;ib;--i) using namespace std; const int N = 100005; inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); return s*w; } void put(int x) { if(x<0) putchar('-'),x=-x; if(x>=10) put(x/10); putchar(x%10^48); } signed main(){ queue q; int n=read(); while(n--){ char ch[7]; scanf("%s", ch); if(ch[0]=='p'&&ch[1]=='u'){ int m=read(); q.push(m); }else if(ch[0]=='p'&&ch[1]=='o'){ q.pop(); }else if(ch[0]=='e'){ if(q.empty()){ printf("YESn"); }else{ printf("NOn"); } }else{ printf("%lldn", q.front()); } } return 0; }
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈



