一个和老师意见不一样的问题

nirvana_ya 2003-02-27 09:06:37
题目:
估计大家都做过:
编一个程序检查输入文本中 { 和 } 是否配对,用什么数据类型最佳。
答案是:堆栈。
我觉得用整型就可以。初始赋值0,左括号+1,右括号—1。当整个过程中该整数都>=0且最后等于0,则配对。
大家说呢?
...全文
43 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zweily 2003-02-28
  • 打赏
  • 举报
回复
是否配对还有问题要考虑的
例如在注释中的{和}就不应该计算在内的
claider 2003-02-28
  • 打赏
  • 举报
回复
jasonwl(每天一杯茶) ( ) 信誉:100 2003-02-28 15:52:00 得分:0


楼主,我觉得如果检查一个程序的挂号是否配对,那么你的方法完全正确.
但如果考虑其他的因素,如对挂号内的操作,那么应该是用堆栈比较合适。
清华版《数据结构》里面先讲了有关括号的配对,然后还有有关进行数据操作的问题,那么那个用整型就无法实现了,而堆栈能够进一步实现这些功能,所以老师才说用堆栈比较好吧。
以上是我的见解,不知道说的对不对。
-----------------------------------------------------
同意。今年苏州大学考研和2000的中程都考过
如果你有很多层(n)括号,你是不是要设 >n个整型变量呢?
你怎么能够预料会碰到多少个括号呢?


loveghb 2003-02-28
  • 打赏
  • 举报
回复
思维当然是不能受限制的,楼主你这个是好想法呀。
鼓励!
没什么不对的。
nirvana_ya 2003-02-28
  • 打赏
  • 举报
回复
回Solstice:
我同意。
这种情况是比较负责,要考虑括号的嵌套。
用栈也为之后的功能扩展提供了可能。
谢谢大家
陈硕 2003-02-28
  • 打赏
  • 举报
回复
如果只匹配一种括号,当然可以用楼主的法子。

倘若要判断{} [] ()是否匹配,用堆栈是比较明智的。
zalyer 2003-02-28
  • 打赏
  • 举报
回复
你的想法很好,如果仅仅检查符号是否正确完全可以照你这样.
我想你们老师让用栈,是有道理的,这是为了你程序进一步的扩充打基础的.
如果你的程序之后还要计算表达式的值呢,你还可以用你的方法完成吗.
不过你的想法很好的.编程就是要这样的.
jasonwl 2003-02-28
  • 打赏
  • 举报
回复
楼主,我觉得如果检查一个程序的挂号是否配对,那么你的方法完全正确.
但如果考虑其他的因素,如对挂号内的操作,那么应该是用堆栈比较合适。
清华版《数据结构》里面先讲了有关括号的配对,然后还有有关进行数据操作的问题,那么那个用整型就无法实现了,而堆栈能够进一步实现这些功能,所以老师才说用堆栈比较好吧。
以上是我的见解,不知道说的对不对。
bjzhaoxiao 2003-02-28
  • 打赏
  • 举报
回复
很妙!
nirvana_ya 2003-02-28
  • 打赏
  • 举报
回复
对注释中的{和} 如用stack 也要也要加控制。
我觉得如果不对入栈的item进行操作的话,用top的控制和用数是一样的。
这样理解对吗?
garbriel 2003-02-27
  • 打赏
  • 举报
回复
up is right .
老师主要是要我们练习stack的性质和用途,重在理解。
积木 2003-02-27
  • 打赏
  • 举报
回复
老师的意思是不是用堆栈不仅仅用来计数,而是用来作些别的更多的东西,例如最简单的
大家都做过那个中缀转后缀的程序,那个程序我觉得利用栈是很必要的,如果是简简单单的
计数,当然是楼主说的最简单了,而且效率最好
maurice1983 2003-02-27
  • 打赏
  • 举报
回复
好看法!
fangrk 2003-02-27
  • 打赏
  • 举报
回复
同意

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧