1028-WEB Navigation

题意不重要
两点:
这一题一开始想用带空格的字符数组做,后来发现完全没必要(看代码)
第二点 C++中有堆栈的结构,一开始是用数组做的
易错之处:
visit:一个是forward要清空
      一个是先把当前的存进back 再输入新的当前网页
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <stack>

using namespace std;

string str;
stack<string> backward;
stack<string> forward;
string current = "http://www.acm.org/";

int main()
{
    //freopen("data.in", "rb", stdin);
    while(cin >> str) {
        if(str == "QUIT")
            break;
        else if(str == "VISIT") {
            backward.push(current);
            cin >> current;
            cout << current << endl;
            while(!forward.empty())
                forward.pop();
        }
        else if(str == "BACK") {
            if(!backward.empty()) {
                forward.push(current);
                current = backward.top();
                backward.pop();
                cout << current << endl;
            }
            else
                cout << "Ignored" << endl;
        }
        else if(str == "FORWARD") {
            if(!forward.empty()) {
                backward.push(current);
                current = forward.top();
                forward.pop();
                cout << current << endl;
            }
            else
                cout << "Ignored" << endl;
        }
    }
    
    return 0;
}

//////////////////别人的


我的:


# include <iostream># include <cstdio># include <string># include <cmath>using namespace std;int main(){
	string back[101];
	string forward[101];
	string cur="http://www.acm.org/";
	string str;
	int b=0,f=0;
	cin>>str;
	while(str!="QUIT")
	{
		if(str=="VISIT")
		{
			back[b++]=cur;
			cin>>cur;
			f=0;
			cout<<cur<<endl;
		}
		else if(str=="BACK")
		{
			if(b==0)
			{
				cout<<"Ignored"<<endl;
			}
			else
			{
				forward[f++]=cur;
				cur=back[--b];
				cout<<cur<<endl;
			}
		}
		else if(str=="FORWARD")
		{
			if(f==0)
			{
				cout<<"Ignored"<<endl;
			}
			else
			{
				back[b++]=cur;
				cur=forward[--f];
				cout<<cur<<endl;
			}
		}
		cin>>str;
	}
	return 0;}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。