1. 程式人生 > >基礎演算法與資料結構(二)字首、中綴、字尾表示式

基礎演算法與資料結構(二)字首、中綴、字尾表示式

目錄


簡介

中綴表示式(正常的表示式)

\[ (1+2)*3-4 \]

字首表示式(運算子位於運算元之前)

\[ -*+1234 \]

字尾表示式(運算子位於運算元之後)

\[ 12+3*4- \]

字首表示式計算

從右向左遍歷,遇到數字的時候,將數字入棧,遇到運算子的時候,彈出棧頂兩個數字運算,將運算結果入棧,直到剩下最後一個數字。

遍歷元素 備註
4 4 4入棧
3 43 3入棧
2 432 2入棧
1 4321 1入棧
+ 433 12出棧,作1+2=3入棧
* 49 33出棧,作3*3=9入棧
- 5 49出棧,作9-4=5入棧

字尾表示式計算

從左向右遍歷,遇到數字的時候,將數字入棧,遇到運算子的時候,彈出棧頂兩個數字運算,將運算結果入棧,直到剩下最後一個數字。

遍歷元素 備註
1 1 1入棧
2 12 2入棧
+ 3 12出棧,作1+2=3入棧
3 33 3入棧
* 9 33出棧,作3*3=9入棧
4 94 4入棧
- 5 94出棧,作9-4=5入棧