zoukankan      html  css  js  c++  java
  • A

    - 题目大意

        给出了先进先出和先进后出的两种结构,分别对应队列和栈,并且每种均给出In和Out两类操作,如果是In,push进后面的数,如果是Out,输出栈顶(队首)。

    - 解题思路

        对于给的命令判断,然后来决定是用队列还是栈。

    - 代码

    #include<iostream>
    #include<stack>
    #include<queue>
    
    using namespace std;
    int main()
    {
    	int n,x,b;
    	char a[5];
    	char c[5];
    	cin >> n;
    	while (n--)
    	{
    		cin >> x >> a;
    		
    		if (strcmp(a, "FIFO"))
    		{
    			stack<int>num;
    			while (x--)
    			{
    				cin >> c;
    				if (!strcmp(c, "IN"))
    				{
    					cin >> b;
    					num.push(b);
    				}
    				else
    				{
    					if (num.empty())
    					{
    						cout << "None" << endl;
    					}
    					else
    					{
    						cout << num.top() << endl;
    						num.pop();
    					}
    				}
    			}
    		}
    
    			else
    			{
    				queue<int>sum;
    				while (x--)
    				{
    				cin >> c;
    				if (!strcmp(c, "IN"))
    				{
    					cin >> b;
    					sum.push(b);
    				}
    				else
    				{
    					if (sum.empty())
    					{
    						cout << "None" << endl;
    					}
    					else
    					{
    						cout << sum.front() << endl;
    						sum.pop();
    					}
    				}
    			}
    		}
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    do-while语句
    指针操作符
    字符译码
    PHP流程控制分支结构
    PHP数据类型和常量
    PHP中使用的变量
    第一个PHP程序
    HTML的区块属性
    HTML的定位属性
    HTML的盒子模型
  • 原文地址:https://www.cnblogs.com/alpacadh/p/8438469.html
Copyright © 2011-2022 走看看