POJ1028 STL_STACK应用

来源:互联网 发布:dg加密软件破解 编辑:程序博客网 时间:2024/06/03 21:10

题目大意:模拟一下浏览器的前进后退访问功能……说白了就是两个栈的应用,backward指令就把当前页面push到forward栈中,同时将backward栈顶元素pop出来并打印。forward和backward一样。visit指令将当前页面push到backward栈中,并清空forward栈。如果指令掉不出网页(栈为空),输出Ignored.  QUIT指令 结束程序


思路:大意就是思路啦。。


CODE:

#include<iostream>#include<stack>using namespace std;int main(){    stack<string> forward;    stack<string> backward;    string temp="http://www.acm.org/";    string a;    while(cin>>a)    {        if(a=="QUIT") break;        else        {            if(a=="BACK")            {                if(backward.size()!=0)                {                    forward.push(temp);                    temp=backward.top();                    backward.pop();                    cout<<temp<<endl;                }                else                    cout<<"Ignored"<<endl;            }            else if(a=="FORWARD")            {                if(forward.size()!=0)                {                    backward.push(temp);                    temp=forward.top();                    forward.pop();                    cout<<temp<<endl;                }                else                    cout<<"Ignored"<<endl;            }            else            {                while(forward.size()!=0)forward.pop();                string t;                cin>>t;                cout<<t<<endl;                backward.push(temp);                temp=t;            }        }    }}



原创粉丝点击