中缀表达式转后缀表达式
来源:互联网 发布:初中语文软件哪个好 编辑:程序博客网 时间:2024/05/16 07:37
中缀表达式转后缀表达式
中缀表达式a + b*c + (d * e + f) *g,其转换成后缀表达式则为a b c * + d e * f + g * +。
转换过程需要用到栈,具体过程如下:
1)如果遇到操作数,我们就直接将其输出。
2)如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。
3)如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止。注意,左括号只弹出并不输出。
4)如果遇到任何其他的操作符,如(“+”,“*”,“(”)等,从栈中弹出元素直到遇到发现更低优先级的元素(或者栈为空)为止。弹出完这些元素后,才将遇到的操作符压入到栈中。有一点需要注意,只有在遇到") "的情况下我们才弹出" ( ",其他情况我们都不会弹出" ( "。当然按照优先级数组来说也是很正常的。
5)如果我们读到了输入的末尾,则将栈中所有元素依次弹出。
#include
#include
#include
using namespace std;
bool Decide(char c);
char Precede(char a,char b);
char SwitchPrecede(stack &tempS,char&c);
int main()
{
}
bool Decide(char c)
{
}
char Precede(char a,char b)
{
}
char SwitchPrecede(stack &tempS,char&c)
{
}
0 0
- 中缀转后缀表达式
- 表达式中缀转后缀
- 中缀转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 后缀表达式转中缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- 中缀表达式转后缀表达式
- Android 4.4特性说明(持续更新)
- hibernate注解的CascadeType属性
- java.lang.NoSuchFieldError:NONE
- Dungeon Master(bfs)
- struct和typedef struct
- 中缀表达式转后缀表达式
- 表达式求值(中缀)
- 我已率先抢占昵称,我的昵称独一无…
- hanoi问题详解
- 使用xcode4.2检测内存泄露leak的具体位置的两种方法总结 .
- 算法竞赛入门经典 习题2-10
- stl算法:next_permutation剖析
- 表达式求解
- 关注C++细节——浅谈指针使用中注意…