您的位置:首页 > 其它

POJ1028 STL_STACK应用

2013-08-12 14:54 176 查看
题目大意:模拟一下浏览器的前进后退访问功能……说白了就是两个栈的应用,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;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: