前綴表達式轉中綴表達式


假定有前綴表達式++1*2 3 4 請將它轉化為中綴表達式。

利用表達式樹:

1.從右到左掃面后綴表達式,一次一個符號讀入表達式。

2. 如果符號是操作數,那么就建立一個單節點樹並將它推入棧中。如果符號是操作符,那么就從棧中彈出兩個樹T1和T2(T1先彈出)並形成一顆新的樹,該樹的根就是操作符

3.它的左、右兒子分別是T1和T2(先出的為左子樹,后出的為右子樹)。然后將指向這棵新樹的指針壓入棧中。

 

1.從右開始都是操作數 4 3 2 放入棧中

 

 

2. 遇到操作符 *,取棧中兩個元素,先出為左,后出為右如下:

 

3.操作數1 放入棧中

 

4.遇到操作符 +,去棧中兩個元素,先出為左,后出為右

 

 

5.遇到操作符 + 取兩個元素,先出為左,后出為右

 

 

 

 對上面構造的表達式樹,按中序遍歷如下:

 中綴表達式為:1+2*3+4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM