~c语言 C语言运用栈求表达式的值?
浏览量:2059
时间:2021-03-17 04:55:17
作者:admin
C语言运用栈求表达式的值?
每次从数字堆栈的顶部取两个数字,从符号堆栈中取一个符号操作,然后将结果按入数字堆栈的顶部。在这种情况下,只重复堆栈中的一个符号,直到结果为空。
C语言,计算器中的括号怎么做?
堆栈实现。带有多个方括号的中缀表达式被转换为后缀表达式,然后进行求值。步骤如下:
从左到右检查每个字符
1。如果字符是数字,直接添加到输出队列中
2。如果字符是左括号(,则将其添加到堆栈中
3。如果字符是右括号),则开始退出堆栈,依次将堆栈中的元素添加到输出队列,直到遇到左括号“()。左括号本身没有排队。如果堆栈中没有左括号,则返回匹配错误。
4. 如果字符是非括号运算符,请将字符的优先级与堆栈元素的顶部进行比较。如果优先级高于堆栈的顶部,它将被放在堆栈上,否则它将被添加到输出队列中。
检查完所有表达式后,堆栈中的所有剩余元素将添加到输出队列中。如果堆栈包含括号,则返回匹配错误。
最终输出队列是后缀表达式。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。