1. 程式人生 > >7-21 求前綴表達式的值(25 分)

7-21 求前綴表達式的值(25 分)

str 掃描 元素 class pos 求值 gpo blog body

前綴表達式的計算機求值:
從右至左掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們做相應的計算(棧頂元素 op 次頂元素),並將結果入棧;重復上述過程直到表達式最左端,最後運算得出的值即為表達式的結果。
例如前綴表達式“- × + 3 4 5 6”:
(1) 從右至左掃描,將6、5、4、3壓入堆棧;
(2) 遇到+運算符,因此彈出3和4(3為棧頂元素,4為次頂元素,註意與後綴表達式做比較),計算出3+4的值,得7,再將7入棧;
(3) 接下來是×運算符,因此彈出7和5,計算出7×5=35,將35入棧;
(4) 最後是-運算符,計算出35-6的值,即29,由此得出最終結果。

7-21 求前綴表達式的值(25 分)