逆波兰表达式
ouuxxxi
/
展开
-
数据结构与算法:中缀表达式转后缀表达式
步骤: 1、初始化两个栈:运算符栈s1和储存中间结果的栈s2; 2、从左至右扫描中缀表达式; 3、遇到操作数时,将其压s2; 4、遇到运算符时,比较其与s1栈顶运算符的优先级: (1)、如果s1为空,或栈顶运算符为左括号“(",则直接将此运算符入栈; (2)、否则,若优先级比栈顶运算符的高,也将运算符压入s1; (3)、否则,将s1栈顶的运算符弹出并压入到s2中,再次转到(1)中与s1中新的栈顶运...原创 2020-02-12 16:24:12 · 973 阅读 · 2 评论 -
前缀、中缀、后缀表达式(逆波兰表达式分析与实现)
一、前缀表达式 从右至左扫描表达式: 1、遇到数字时,将数字压入堆栈; 2、遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈项元素和次顶元素),并将结果入栈; 3、重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果。 【举例】 ( 3 +4 ) * 5 - 6 对应的前缀表达式 - * + 3 4 5 6 步骤如下: (1)、从右至左扫描,将6、5、4、3压入堆栈;...原创 2020-02-10 20:53:46 · 141 阅读 · 0 评论