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;
}
浏览器前进后退功能实现

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

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



