中缀表达式转后缀表达式
思路
将中缀表达式读入字符串, 不断读入字符。
若字符为数字, 则直接打印。
若字符为运算符, 若栈顶元素运算的优先级高于读入的运算符的优先级, 则弹出栈顶元素, 压栈读入的运算符。
需要特殊说明的是括号的优先级, 左括号在压栈之前的优先级最高(括号的读取不能使任何之前的运算符进行出栈操作, 即所有操作都要等待括号的运算完成), 在栈中优先级最低(在括号中, 括号的存在不能影响任何括号内的运算)。
代码实现
|
|
勿在浮沙筑高台
将中缀表达式读入字符串, 不断读入字符。
若字符为数字, 则直接打印。
若字符为运算符, 若栈顶元素运算的优先级高于读入的运算符的优先级, 则弹出栈顶元素, 压栈读入的运算符。
需要特殊说明的是括号的优先级, 左括号在压栈之前的优先级最高(括号的读取不能使任何之前的运算符进行出栈操作, 即所有操作都要等待括号的运算完成), 在栈中优先级最低(在括号中, 括号的存在不能影响任何括号内的运算)。
|
|