-
你知道吗? 按 Alt+F8 使所选的 ** 自动对齐。
-
将中缀表达式转换为等效的后缀表达式后,可以从左到右扫描后缀表达式,而无需在计算时考虑运算符的优先级。 具体评估步骤如下:从左到右扫描后缀表达式,取出表达式中运算符的前两个操作数,遇到运算符时运算,再将结果带回后缀表达式; 继续扫描,直到后缀表达式的最后一个表达式。
例如,后缀表达式 (abc*+def* -) 的计算是后缀表达式的计算算法。
设置一个堆栈,从堆栈为空开始,然后从左到右扫描后缀表达式,如果遇到操作数,则进入堆栈; 如果遇到运算符,则从堆栈中退出两个元素,第一个出口放置在运算符的右侧,第二个出口放置在运算符的左侧,然后将操作结果放入堆栈中,直到扫描后缀表达式。 此时,堆栈中只有一个元素,这是操作的结果。
例如,要查找后缀表达式的值:1 2 + 8 2 - 7 4 - *,堆栈将按如下方式更改:
-
对于前缀表达式的计算,应该从右到左扫描表达式,从右边的第一个字符开始判断,如果当前字符是数字,则记录到数字字符串的末尾,如果是运算符,则最靠近右边的两个“数字字符串”会相应地进行操作, 所以作为一个新的“数字字符串”并记录下来。当一直扫描到表达式的最左端时,最后一个操作的值就是表达式的值。 例如,前缀表达式“-1 + 2 3”的计算,扫描到3时,记录这个数字字符串,扫描到2时,记录这个数字字符串,扫描到+时,向右移动+作为相邻两个数字字符串的运算符,表示为2+3,结果为5,记录这个新的数字字符串, 并继续向左扫描,扫描到1时,记录这个数字字符串,扫描到-时,向右移动使相邻两个数字字符串的运算符,写1-5,结果为-4,所以表达式的值为-4。
-
如何使用后缀表达式进行计算:
构建堆栈。 从左到右读表达式,如果读了操作数,就把它压进堆栈里,如果是n元运算符(即参数个数为n的运算符),则从堆栈顶部往下取出n项,按照算子运算,然后把原堆栈顶部的n项替换掉,把运算结果压到堆栈里。 如果未读取后缀表达式,则重复上述过程,堆栈顶部的最终输出值为结束。
-
网上说的白比较麻烦,其du其实很简单:zhi
首先,您需要知道,当 dao 后缀转换为专用后缀时,操作数的顺序不会改变。 此外,“(”不会出现在后缀表达式中。
然后,你可以这样看,在这个表达式中,根据算法,你应该先计算(10-8),所以它是“10 8 -”一起,然后把(10-8)的结果乘以2,就变成了10 8 - 2 *(因为*2在10-8之后),然后计算40+(10-8)*2,加上40,40 10 8 - 2 *,然后计算“-16 8”得到40 10 8 - 2 * 16 8 -
-
你会是白
你必须首先学会在序言中遍历。
du,中阶遍历,zhi 和后续遍历,如果是真的 dao 将无法做到这一点!
40(+(返回 10-8))A*2))(16 8))你先根据优先级加括号,然后把每个运算符放在对应的括号外面,慢慢来,不要弄错。
-
前缀表达式:+ 3 2 + 5 12
中缀表达式:(3+2) 5+12 -- 一般表达式。
37其实很简单。
表达方式有三种。
前缀表达式 + ab
中缀表达式 a+b
后缀表达式 ab+
-
后缀表达式是将运算符放在要计算的操作数之后的表达式。
1+34)*5-56 7 的运算顺序为:
所以后缀表达式是这样的:为了更容易理解括号,前缀是把运算符放在第一位。
由算术运算符组成的表达式,如加法、减法、乘法、除法等,称为算术表达式。 任何公式都称为表达式。 例如,表达式 a>b 称为关系表达式,例如,and not 称为逻辑表达式。 >>>More