数据结构(一)栈(二)双栈表达式求值算法

 我来答
l7722526
2018-04-05 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3701万
展开全部
显示出来的话,你给出的函数已经实现了这个功能。 你说的优先级函数其实不分栈内栈外的,因为它只是实现对输入的一个运算符返回一个数值。 运算符优先级从最低到最高的顺序是# ( + - * / ),当然+ -的运算优先级相等,* /的运算优先级相等。 所以上面那个函数的比较语句错了,应该是 icp(ch) <= isp(y)。icp跟isp应该是一样的。int icp(char ch) { switch (ch) { case '#': return 0; case '(': return 1; case '+': case '-': return 2; case '*': case '/': return 3; case ')': return 4; } } 要计算后缀表达式,你需要在你给出的函数里面加一些内容。就是每当输出一个数值的时候,你同时把 这个数值放入一个栈中,每当输出一个运算符,就从栈里弹出两个值用这个运算符运算,并把结果放入栈 中,如此这般运算。这样最后栈里面就是要求的值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式