c++队列的基本用法:点击打开链接
首先看一下原c++栈的方法的基本用法:
- push(): 向栈内压入一个成员;
- pop(): 从栈顶弹出一个成员;
- empty(): 如果栈为空返回true,否则返回false;
- top(): 返回栈顶,但不删除成员;
- size(): 返回栈内元素的大小;
下面看简单的代码讲解
题目:点击打开链接
代码:
#include<stdio.h>
#include<algorithm>
#include<cmath>
#include<string.h>
#include<queue>
#include<stack>
using namespace std;
int main()
{
int a,b,c,l,i,t=0;
cin>>a;
while(a--)
{
char z[10];
scanf("%d%s",&b,z);
if(strcmp(z,"FIFO")==0)
{
queue<int>p; //构建队列
while(b--)
{char c[10];
scanf("%s",c);
if(strcmp(c,"IN")==0)
{
scanf("%d",&l);
p.push(l); //入队
}
else
{
if(p.empty()) //判断队列是否为空
{
printf("None\n");
}
else
{
printf("%d\n",p.front());
p.pop(); //删除队列的元素
}
}
}
}
else
{
stack<int>pp; //构建栈
while(b--)
{char c[10];
scanf("%s",c);
if(strcmp(c,"IN")==0)
{
scanf("%d",&l);
pp.push(l); 入栈
}
else
{
if(pp.empty()) //判断栈是否为空
{
printf("None\n");
}
else
{
printf("%d\n",pp.top());
pp.pop(); //删除元素
}
}
}
}
}
return 0;
}