数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀
生活随笔
收集整理的這篇文章主要介紹了
数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
中綴轉后綴
從左到右掃描這個中綴表達式,如果遇到操作數,就直接寫出來;如果遇到運算符,就將其入棧。
入棧之前,首先將當前運算符與棧頂運算符比較優先級,如果當前運算符優先級小于等于棧頂運算符的優先級,則將棧頂運算符出棧,并寫入結果表達式中,(這是一個循環的過程),然后繼續和新的棧頂運算符比較,這樣一直進行下去,直到比較結果為大于,則將掃描到的運算符入棧。棧空時,直接將運算符入棧。
對于表達式中含有括號的情況,當遇到左括號,直接入棧。當棧頂為左括號時,所有掃描到的運算符都入棧。當掃描到右括號時,則進行一系列出棧操作,將當前棧中從棧頂到左括號的元素全部出棧,并將其寫入結果表達式中(括號除外,出棧的括號直接扔掉)。
最后,當掃描完表達式中所有字符時,如果棧中還有運算符,則將其全部出棧,并寫入結果表達式中。
舉個例子
總結
以上是生活随笔為你收集整理的数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 递归算法题解析:设m,n均为自然数,m可
- 下一篇: 数据结构:用栈实现中缀表达式的求值(文字