中缀 -> 后缀
从左到右扫描表达式,遇到数字直接输出,如果遇到运算符则与栈顶符号优先级相比较,如果当前符号优先级小于等于栈顶元素优先级,则栈顶元素出栈,当前符号入栈,如果是左括号直接入栈,直到遇见右括号,此时栈中元素出栈直到左括号.
最终结果
此时左侧横线表明了需要的最大栈空间,为5.
中缀 -> 前缀
从右往左扫描,当前运算符小于栈顶元素运算符时,栈顶元素出栈
遇到右括号入栈
对比
后缀 -> 前缀
见视频
从左到右扫描表达式,遇到数字直接输出,如果遇到运算符则与栈顶符号优先级相比较,如果当前符号优先级小于等于栈顶元素优先级,则栈顶元素出栈,当前符号入栈,如果是左括号直接入栈,直到遇见右括号,此时栈中元素出栈直到左括号.
最终结果
此时左侧横线表明了需要的最大栈空间,为5.
从右往左扫描,当前运算符小于栈顶元素运算符时,栈顶元素出栈
遇到右括号入栈
见视频