前綴表達式 與 后綴表達式


在計算機編程中,我們使用前綴或后綴表達式進行運算往往比中綴簡單

舉例示范

中綴表達式:1 + (2 + 3) × 4 - 5
前綴表達式:- + 1 × + 2 3 4 5
后綴表達式:1 2 3 + 4 × + 5 -

對於前綴表達式- + 1 × + 2 3 4 5,這里的前綴指的是運算符號前綴,
- + 1 × + 2 3 4 5 = (2+3)*4+1-5 可見連括號都省了。

運算過程

編程運算前綴表達式的值時,只需要用到一個棧,這個棧主要用來保存操作數。因為前綴的順序性沒有中綴那么復雜。
且編程時,往往從末尾開始讀取前綴表達式,如果讀到的是數值,均入棧;讀到的是操作符,則取2個操作數進行運算即可。

計算前綴表達式的值:- + 1 × + 2 3 4 5

  1. 從右至左掃描,將5,4,3,2壓入堆棧;
    2)遇到+運算符,彈出2和3(2為棧頂元素,3為次頂元素),計算2+3的值,得到5,將5壓入棧;
    3)遇到×運算符,彈出5和4,計算5×4的值,得到20,將20壓入棧;
    4)遇到1,將1壓入棧;
    5)遇到+運算符,彈出1和20,計算1+20的值,得到21,將21壓入棧;
    6)遇到-運算符,彈出21和5,計算21-5的值,得到16為最終結果

后綴表達式只需要反着來,從左到右讀取即可,其他步驟類似


免責聲明!

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



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