题目
给你一个规则以及一些指令和数字,按照规则遵循指令,输出数字,若指令数量>数字数量,则在数字全部输出后输出None
流程图
1、读入测试个数
2、读入行数和规则
3、选择相应数据结构
4、读入指令和数字
5、判断指令并输出
数据结构
当指令为FIFO
时,选择队列存储
当指令为FILO
时,选择栈存储
代码
#include<iostream>
#include<string>
#include<stack>
#include<queue>
using namespace std;
int main()
{
int T;
cin >> T;
while(T--){
int n;string st;
cin >> n >> st;
if(st=="FIFO"){
queue<int>q;
for(int i=0;i<n;i++){
string str;
cin >> str;
if(str=="IN"){
int m;
cin >> m;
q.push(m);
}else{
if(!q.empty()){
int m;
m=q.front();
q.pop();
cout << m << endl;
}else{
cout << "None" << endl;
}
}
}
}else{
stack<int>s;
for(int i=0;i<n;i++){
string str;
cin >> str;
if(str=="IN"){
int m;
cin >> m;
s.push(m);
}else{
if(!s.empty()){
int m;
m=s.top();
s.pop();
cout << m << endl;
}else{
cout << "None" << endl;
}
}
}
}
}
system("pause");
return 0;
}