题意
FIFO用队列,FILO用栈
题解:
按照题目模拟,但要用到三重的if
代码:
#include<iostream>
#include<queue>
#include<stack>
#include<string>
using namespace std;
int main()
{
int N, n, t, book;
cin >> N;
while (N--)
{
string choice;
queue<int> q;
stack<int> s;
cin >> n >> choice;
if (choice == "FIFO")
book = 1;
else if (choice == "FILO")
book = 2;
while (n--)
{
if (book == 1)//标记1代表用队列
{
cin >> choice;
if (choice == "IN")
{
cin >> t;
q.push(t);
}
else
{
if (q.empty() == 1)
cout << "None" << endl;
else
{
cout << q.front() << endl;
q.pop();
}
}//extern for
}//if
else
{
cin >> choice;
if (choice == "IN")
{
cin >> t;
s.push(t);
}
else
{
if (s.empty() == 1)
cout << "None" << endl;
else
{
cout << s.top() << endl;
s.pop();
}
}//extern for
}//else
}//for
}//while
return 0;
}