注册 登录
编程论坛 C++教室

[求助]斑竹门 兄弟门小题目我不会做

孤魂居士 发布于 2007-10-19 22:07, 1029 次点击
今天《数据结构》老师给了道题目 我无法动手 心理知道怎么做 就是动不了手哇 希望帮助们和兄弟们帮帮小弟我啊````
今天老师讲“栈”的内容
就出了一道题目要我们回去做
就是用“栈”算法 来解释算术表达式的工作原理 要我们编写程序 例如:1*6+(6-5)/2-(2+8)
编写程序 计算机是怎么计算的
下个星期就要交 我还是不很懂啊 希望斑竹门兄弟门多多帮助小弟啊```不胜感激
13 回复
#2
孤魂居士2007-10-19 22:07
希望斑竹门兄弟门尽量帮帮我哦  代码越详细越好哦
#3
孤魂居士2007-10-19 22:21
aipb2007  野比 斑竹们你们死哪去啦    我马上要下了
#4
xskowscut2007-10-19 22:28
主要是用栈来检查左右括号的匹配,这在数据结构的书上面应该都有,而且上百度一搜就可以。不过还是建议自己做一下,锻炼锻炼。清华大学的《数据结构》里面就有括号匹配的主要思想。

加油啊!
#5
孤魂居士2007-10-19 22:41
书上有? 我怎么没有发现啊```我的是清华大学的版本哦```谢谢楼上兄弟哦 我会自己拼命想的```嘿嘿```

一起加油`````同一个世界 一个梦想哦
#6
aipb20072007-10-20 10:07
只要求解释的话就好办

我们书写的四则运算称为“中序表达式”,比如a+b,转化为后序表达式就是ab+

用栈储存数值,遇到符号弹出两个数做该符号运算,再保存结果入栈。

EX:
(1+2)*3

*
+ 3
1 2

12+3*
栈stack = empty
1入栈 stack = 1
2入栈 stack = 1,2
符号+,12出栈,作运算得3再入栈 stack = 3
3入栈 stack = 3,3
符号*,33出栈,做运算得9再入栈 stack = 9

结果为9

[此贴子已经被作者于2007-10-20 10:14:15编辑过]

#7
孤魂居士2007-10-21 11:14
谢谢无限循环老大
基本上懂了点
#8
天心水月2007-10-21 13:11
哥们,你既然学的是清华的《数据结构》,那你们发书的时候应该还有清华的《数据结构课程实验》吧,那本书上面的第三个实验就是关于 栈 的表达式计算啊!

#9
ACMer2007-10-21 14:57
以下是引用孤魂居士在2007-10-19 22:21:04的发言:
aipb2007 野比 斑竹们你们死哪去啦 我马上要下了

强人

#10
nuciewth2007-10-21 15:01
以下是引用孤魂居士在2007-10-19 22:07:57的发言:
希望斑竹门兄弟门尽量帮帮我哦 代码越详细越好哦

你应该用我们的教材,代码很详细都有.

#11
Alex_Lau2007-10-24 18:11

还要吗,我刚写完

#12
Alex_Lau2007-10-24 18:13
你是不是残疾人阿,怎么动不了手?
#13
Alex_Lau2007-10-24 19:25

我用c++写的不知道你要不要

#14
罚我不睡觉2007-10-28 18:30
以下是引用nuciewth在2007-10-21 15:01:41的发言:

你应该用我们的教材,代码很详细都有

你的教材是什么 ?

你的教材是什么 ?
1