#include <iostream>
#include <cstdio>
#include <string>
#include <stack>
using namespace std;
int main()
{
stack<string> forward,backward;
string current="http://www.acm.org/";
char command[10],url[75];
while (scanf("%s",command)==1 && command[0]!='Q')
{
if (command[0]=='V')
{
scanf("%s",url);
backward.push(current);
while (!forward.empty())
forward.pop();
current.assign(url);
printf("%s\n",url);
}
else if (command[0]=='B')
{
if (backward.empty())
printf("Ignored\n");
else
{
forward.push(current);
current=backward.top();
backward.pop();
printf("%s\n",current.c_str());
}
}
else
{
if (forward.empty())
printf("Ignored\n");
else
{
backward.push(current);
current=forward.top();
forward.pop();
printf("%s\n",current.c_str());
}
}
}
return 0;
}
POJ 1028 Web Navigation
最新推荐文章于 2022-10-02 20:12:32 发布
本文介绍了一个使用C++实现的简单浏览器导航历史模拟程序。该程序利用栈数据结构来模拟浏览器前进和后退的功能,并通过命令行输入不同的指令进行交互。具体功能包括:访问新的URL地址(V),返回上一页(B)及前进到下一页(F)。

1191

被折叠的 条评论
为什么被折叠?



