简单的模拟题目,模拟浏览器访问网址的前进和后退。
需要注意的是每次访问新的网址时,需要清空前进的栈的所以内容。
代码:
#include <iostream>
#include <string>
#include <stack>
using namespace std;
stack<string> back;
stack<string> front;
int main()
{
// freopen("data.txt", "r", stdin);
string str, temp, te;
int index = 0;
str = "http://www.acm.org/";
while(cin >> temp)
{
if(temp == "QUIT")
break;
else if(temp == "VISIT")
{
cin >> te;
while(!front.empty())
{
front.pop();
}
back.push(str);
str = te;
cout << str << endl;
}
else if(temp == "BACK")
{
if(!back.empty())
{
front.push(str);
str = back.top();
back.pop();
cout << str << endl;
}
else
cout << "Ignored" << endl;
}
else if(temp == "FORWARD")
{
if(!front.empty())
{
back.push(str);
str = front.top();
front.pop();
cout << str << endl;
}
else
cout << "Ignored" << endl;
}
}
return 0;
}