poj1028
http://poj.org/problem?id=1028
一道栈模拟题目,要注意地方只有一个,就是当在栈中某处访问新地址后,不能再访问栈此处之后的地址,只能访问之前的。
1 #include<stdio.h>
2 char str[200][71]={"http://www.acm.org/"};
3 int point=0,end=0;
4 void forword()
5 {
6 if(point>=end) printf("Ignored\n");
7 else printf("%s\n",str[++point]);
8 }
9 void back()
10 {
11 if(point<=0) printf("Ignored\n");
12 else printf("%s\n",str[--point]);
13 }
14 void vist()
15 {
16 scanf("%s",str[++point]);
17 printf("%s\n",str[point]);
18 end=point; //在此处更新栈的最终指针
19 }
20 int main()
21 {
22 char com[10];
23 int g=1;
24 while(g)
25 {
26 scanf("%s",com);
27 switch(com[0])
28 {
29 case 'V':vist();break;
30 case 'B':back();break;
31 case 'F':forword();break;
32 default : g=0;break;
33 }
34 }
35 return 0;
36 }