表達式樹—中綴表達式轉換成後綴表達式(一)

前綴、中綴、後綴表達式的轉換舉例

  • 前綴表達式:/+A*BCD。
  • 中綴表達式:A+B*C/D。
  • 後綴表達式:ABC*+D/。

中綴表達式轉換後綴表達式算法

  1. 將棧初始化爲空棧;
  2. 從左到右掃描表達式的每個字符,執行下面操做:

    2.1  遇到操做數:直接輸出(添加到後綴表達式中)html

    2.2  棧爲空時,遇到運算符,直接入棧算法

    2.3  遇到左括號:將其入棧spa

    2.4  遇到右括號:執行出棧操做,並將出棧的元素輸出,直到彈出棧的是左括號,左括號不輸出。htm

    2.5  遇到其餘運算符:加減乘除:彈出全部優先級大於或者等於該運算符的棧頂元素,而後將該運算符入棧blog

    2.6  最終將棧中的元素依次出棧,輸出。get

  例如:(A+B*C)/Dim

  

參考:http://www.cnblogs.com/mygmh/archive/2012/10/06/2713362.htmlimg

相關文章
相關標籤/搜索