mooc2.2栈堆的应用

利用堆栈转换中缀表达式求值

从头到尾读取中缀表达式的每个对象,对不同对象按不同的情况处理。
① 运算数:直接输出;
② 左括号:压入堆栈;
③ 右括号:将栈顶的运算符弹出并输出,直到遇到左括号(出栈,不输出);
④ 运算符:
• 若优先级大于栈顶运算符时,则把它压栈;
• 若优先级小于等于栈顶运算符时,将栈顶运算符弹出并输出;再比
较新的栈顶运算符,直到该运算符大于栈顶运算符优先级为止,然
后将该运算符压栈;
⑤ 若各对象处理完毕,则把堆栈中存留的运算符一并输出。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43913556/article/details/86945082