数据结构中 中缀表达式该为 后缀表达式的题目(请做一下...)
3道关于数据结构中中缀表达式该为后缀表达式的题目(1)8*5-4(2)2+4/(6-2)(3)(2+a)*(b*(b+c)+c)...
3道 关于 数据结构中 中缀表达式该为 后缀表达式的题目
(1) 8*5-4
(2) 2+4/(6-2)
(3) (2+a)*(b*(b+c)+c) 展开
(1) 8*5-4
(2) 2+4/(6-2)
(3) (2+a)*(b*(b+c)+c) 展开
2个回答
展开全部
我把主要算法给你讲一下,为了你好具体代码就不给你了,你还是自己实现一下.谢谢!
将中缀表达式转换为后缀表达式
a)如果遇到了操作数,则将其直接输出到后缀表达式中
b)如果遇到了运算符,则要分情况对待
当栈为空时,将该运算符压入到栈中
当运算符为’+’、’-’、’*’、’/’的时候,从栈中弹出栈元素直到发现优先级更低的元素为止(‘(’运算符是个例外)
当运算符为’(‘的时候,将该运算符压入到栈中
当运算符为’)’的时候,从栈中弹出栈元素直到遇到‘(’运算符,运算符’(‘和’)’都不输出到后缀表达式中
所有弹出的栈元素(除了特殊情况以外),都需要按照弹出顺序输出到后缀表达式中
c)如果扫描完整个表达式后,将所有在栈中的元素弹出并输出到后缀表达式中
将中缀表达式转换为后缀表达式
a)如果遇到了操作数,则将其直接输出到后缀表达式中
b)如果遇到了运算符,则要分情况对待
当栈为空时,将该运算符压入到栈中
当运算符为’+’、’-’、’*’、’/’的时候,从栈中弹出栈元素直到发现优先级更低的元素为止(‘(’运算符是个例外)
当运算符为’(‘的时候,将该运算符压入到栈中
当运算符为’)’的时候,从栈中弹出栈元素直到遇到‘(’运算符,运算符’(‘和’)’都不输出到后缀表达式中
所有弹出的栈元素(除了特殊情况以外),都需要按照弹出顺序输出到后缀表达式中
c)如果扫描完整个表达式后,将所有在栈中的元素弹出并输出到后缀表达式中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询