从头到尾读取中缀表达式的每个对象,对不同对象按不同的情况处理。
① 运算数:直接输出;
② 左括号:压入堆栈;
③ 右括号:将栈顶的运算符弹出并输出,直到遇到左括号(出栈,不输出);
④ 运算符:
(遇到运算符不是第一时间输出 先与后面的运算符进行比较)
• 若优先级大于栈顶运算符(这里的栈顶运算符是指当前处于栈顶的运算符)时,则把它压栈;
• 若优先级小于等于栈顶运算符时,将栈顶运算符弹出并输出;再比
较新的栈顶运算符,直到该运算符大于栈顶运算符优先级为止,然
后将该运算符压栈;
⑤ 若各对象处理完毕,则把堆栈中存留的运算符一并输出。
数据结构:中缀表达式如何转换为后缀表达式
最新推荐文章于 2022-04-13 18:29:10 发布