Ch05 Stack

7/2/2019 Data structure

# Stack

复杂计算机的实现:

  • 中缀转后缀
  • 计算后缀

中缀转后缀原则:

  • 两个栈,一个运算符栈,一个字母栈,运算符出栈前先出所有的字母栈
  • 当下一操作符的优先级高于栈顶操作符,入栈
  • 当下一操作符的优先级低于栈顶操作符,一直出栈,直到遇到比其低级的操作符,再入栈
  • 当 “( ” 入栈时,具有最高的优先级,直接压入栈
  • 当 “ ( ” 出栈时,具有最低的优先级,除非碰到 “ )”,否则不会出栈
  • 当读到“ ) ” 时,弹出栈中的操作符,直到遇到 “(”

例:a + b * c + ( d * e + f ) * g

后缀:a b c * + d e * f + g * +

后缀计算原则:

  • 字母压入栈中,当遇到操作符时,弹出两个字母,并且把计算之后的数值继续压入栈中,以此类推
Last Updated: 11/19/2024, 1:54:38 PM