【题目描述】用栈完成模拟网页:
输入 open,输入要打开的地方。
输入now,输出当前网页。
输入back,输出上一个网页,若没有,输出no。
输入over,关闭网页。
【样例输入】open https://www.jianshu.com/u/c2cdbbbb7678
open https://www.jianshu.com/
now
back
back
over
【样例输出】https://www.jianshu.com/
https://www.jianshu.com/u/c2cdbbbb7678
no
栈.push(n) 进入栈
栈.pop() 删除栈顶元素
栈.empty() 1为空,0为满。
栈.top() 栈顶元素
stack<类型> 栈; 命名一个栈
这道题可以依次用if语句判断,别忘了加上头文件#include <stack>
今天直接上完整代码~
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<string> s;//此处要用字符串类型
while(1){
string st;
cin>>st;
if(st=="open"){
string d;
cin>>d;
s.push(d);//入栈
}
if(st=="now") cout<<s.top()<<endl;//输出栈顶元素
if(st=="back"){
s.pop();//先弹出栈顶元素
if(s.empty()==0) cout<<s.top()<<endl;//判断栈是否为空
if(s.empty()==1) cout<<"no"<<endl;
}
if(st=="over"){
break;//结束循环
}
}
return 0;
}