
栈
Thexu323
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
表达式求值
思路: 1.准备双栈,一个压入数字,另一个压入运算符。 2.判断运算符优先级进行运算。(技巧:运算符栈按优先级形成单调递增) 即当一个运算符入栈时,与栈顶元素比较。 1)如果栈顶运算符优先级高,那么计算栈顶运算符所对应的式子,此时就完成了运算符优先级高的先运算。 2)如果栈顶运算符优先级低,将当前运算符入栈。 注意:运算规则是从左到右(后面会具体看解释)。 实现代码: #include<iostream> #include<map> #include<stack>原创 2021-06-05 15:50:35 · 84 阅读 · 0 评论 -
SDUT OJ 2132 (一般算术表达式转换成后缀式)
题目描述 Description 对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。 Input 输入一个算术表达式,以‘#’字符作为结束标志。 Output 输出该表达式转换所得到的后缀式。 Sample Input a*b+(c-d/e)*f# Output ab*cde/-f*+ 转换规定 从左到右遍历中缀表达式的每个符号和字母(数字),若是字母(数字)就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右括号或优先级低于栈顶符号(乘除优先加减)则栈顶原创 2021-05-21 19:57:15 · 165 阅读 · 0 评论