- 博客(3)
- 收藏
- 关注
原创 [C++]数据结构--栈--中缀表达式求值
在以上基础规则上,加入()两个符号,对于原本的中缀表达式,遇到(直接入栈。遇到计算符号时,若栈顶为(,正常入栈,其余规则同上。Tips:前缀表达式和后缀表达式中是将操作数入栈,故栈的数据类型设置为double,而中缀表达式是将计算符号入栈,故栈的数据类型变为char。若栈内有计算符号,则将栈外即将入栈的计算符号B与栈内处于栈顶的计算符号A相比较,如果A的优先级大于B,即A出栈,否则B进栈。使用一个字符串接收后缀表达式,对于原本的中缀表达式来说,遇到数字部分正常依次写入字符串,遇到计算符号,若栈为空,入栈。
2024-03-11 19:07:20
1810
原创 [C++]数据结构--栈--前缀表达式求值
过程描述:9 2 15依次入栈(栈顶为15),之后遇到*,即依次弹栈15 2,将15*2计算结果入栈,栈变为30 9(30为栈顶)。之后2 3依次入栈(栈顶为3),遇到*,依次弹栈3 2,将3*2计算结果入栈,栈变为6 30 9(6为栈顶)。思想:当前缀表达式从后往前入栈,则和后缀表达式求法类似,但是需要注意-和/两个符号,即前缀表达式求值是从后往前(从右往左)扫描,对于for循环列表,实现多位数字接收,出栈后performoperator函数参数对应这几处同后缀表达式求值代码有细微不同。
2024-03-09 18:38:16
887
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人