栈的应用——四则运算表达式求值
先将 数学表达式 用后缀(逆波兰)表示法表示。
运算规则:从左到右遍历表达式每个数字和符号,遇到数字就进栈,遇到符号,就将处于栈顶的两个数字出栈,进行运算,运算结果进栈
运算流程图如下
将中缀表达式转化为后缀表达式
规则:从左到右遍历中缀表达式的每个数字和符号吗,若是数字则输出,即称为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右符号或优先级低于栈顶符号(乘除优先加减)则栈顶元素依次出栈并输出,并将当前符号进栈,一直到最终输出后缀表达式为止。
先将 数学表达式 用后缀(逆波兰)表示法表示。
运算规则:从左到右遍历表达式每个数字和符号,遇到数字就进栈,遇到符号,就将处于栈顶的两个数字出栈,进行运算,运算结果进栈
规则:从左到右遍历中缀表达式的每个数字和符号吗,若是数字则输出,即称为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右符号或优先级低于栈顶符号(乘除优先加减)则栈顶元素依次出栈并输出,并将当前符号进栈,一直到最终输出后缀表达式为止。