中序式转后序式数据结构
中序式转后序式的常用数据结构是栈。
具体转换步骤如下:
- 创建一个空栈。
- 从左到右遍历中序式的每个字符。
- 如果遇到操作数(数字或变量),直接输出。
- 如果遇到操作符,分以下几种情况处理:
- 如果栈为空或栈顶元素为左括号"(",则将操作符入栈;
- 如果操作符优先级大于栈顶元素的优先级,则将操作符入栈;
- 如果操作符优先级小于等于栈顶元素的优先级,则将栈顶元素出栈并输出,直到栈顶元素优先级小于操作符的优先级,然后再将操作符入栈。
- 如果遇到左括号"(",直接入栈。
- 如果遇到右括号")",则将栈顶元素依次出栈并输出,直到遇到左括号"(",将左括号出栈但不输出。
- 遍历完中序式后,将栈中剩余的操作符依次出栈并输出。
最后得到的输出即为后序式。
原文地址: https://www.cveoy.top/t/topic/hBNb 著作权归作者所有。请勿转载和采集!