• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
mengxm
博客园    首页    新随笔    联系   管理    订阅  订阅

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 }
posted @ 2011-06-09 23:24  mengxm  阅读(505)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3