(Relax 水题1.1)POJ 1028 Web Navigation

本文详细解析了浏览器前进后退功能的实现原理,通过使用两个堆栈来管理历史记录和预览页面,实现了基本的浏览操作逻辑。包括如何通过BACK、FORWARD和VISIT指令进行网页的切换和管理,以及QUIT指令用于退出浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

POJ 1028 

题目大意

 

。就是说我们使用的浏览器都的前进退后功能都是由两个

堆栈做成的。

 

BACK 

是把最近记录的网页放到

forword_stack  

里面然后从

backword_stack 

里面弹出一个元素当作当前网页,如果

backword_stack

是空的话那么输出

ignored 

FORWARD 

就是把当前网页放到

backword_stack 

里面然后

 

forword_stack

里推出一个元

素当作当前网页。如果

 

forword_stack

是空的话输出

ignored 

VISIT 

就是把当前网页放到

backward_stack

里面

 

 

然后输出新网页,并且把

forword_stack

清空

 

QUIT 

就是退出浏览器的意思

POJ 1028 

题目大意

 

。就是说我们使用的浏览器都的前进退后功能都是由两个

堆栈做成的。

 

BACK 

是把最近记录的网页放到

forword_stack  

里面然后从

backword_stack 

里面弹出一个元素当作当前网页,如果

backword_stack

是空的话那么输出

ignored 

FORWARD 

就是把当前网页放到

backword_stack 

里面然后

 

forword_stack

里推出一个元

素当作当前网页。如果

 

forword_stack

是空的话输出

ignored 

VISIT 

就是把当前网页放到

backward_stack

里面

 

 

然后输出新网页,并且把

forword_stack

清空

 

QUIT 

就是退出浏览器的意思

POJ 1028 
题目大意 。就是说我们使用的浏览器都的前进退后功能都是由两个堆栈做成的。 
BACK 是把最近记录的网页放到forword_stack  里面然后从backword_stack 里面弹出一个元素当作当前网页,如果backword_stack是空的话那么输出ignored 
FORWARD 就是把当前网页放到backword_stack 里面然后 从forword_stack里推出一个元素当作当前网页。如果 forword_stack是空的话输出ignored 
VISIT 就是把当前网页放到backward_stack里面  然后输出新网页,并且把forword_stack清空 
QUIT 就是退出浏览器的意思

/*
 * POJ1028_1.cpp
 *
 *  Created on: 2013年11月25日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>
#include <stack>
#include <string>

using namespace std;


int main(){
	stack<string> a;
	stack<string> b;

	a.push("http://www.acm.org/");
	string c;
	while(cin>>c&&c!="QUIT"){
		if(c == "VISIT"){
			cin >> c;
			a.push(c);

			while(!b.empty()){
				b.pop();
			}

			cout<<c<<endl;
		}else if(c == "BACK"){
			c = a.top();
			a.pop();
			if(a.empty()){
				cout<<"Ignored"<<endl;
				a.push(c);
			}else{

				cout<<a.top()<<endl;
				b.push(c);
			}
		}else {
			if(b.empty()){
				cout<<"Ignored"<<endl;
			}else{
				cout<< b.top()<<endl;
				a.push(b.top());
				b.pop();

			}
		}
	}

	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值