關(guān)于表達(dá)式求值算法設(shè)計(jì),后綴表達(dá)式求值算法這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、1 后綴表達(dá)式的求值將中綴表達(dá)式轉(zhuǎn)換成等價(jià)的后綴表達(dá)式后,求值時(shí),不需要再考慮運(yùn)算符的優(yōu)先級(jí),只需從左到右掃描一遍后綴表達(dá)式即可。
2、具體求值步驟為:從左到右掃描后綴表 達(dá)式,遇到運(yùn)算符就把表達(dá)式中該運(yùn)算符前面兩個(gè)操作數(shù)取出并運(yùn)算,然后把結(jié)果帶回后綴表達(dá)式;繼續(xù)掃描直到后綴表達(dá)式最后一個(gè)表達(dá)式。
3、 例如,后綴表達(dá)式(abc*+def*/-) 的求值2 后綴表達(dá)式的求值的算法設(shè)置一個(gè)棧,開始時(shí),棧為空,然后從左到右掃描后綴表達(dá)式,若遇操作數(shù),則進(jìn)棧;若遇運(yùn)算符,則從棧中退出兩個(gè)元素,先退出的放到運(yùn)算符的右邊,后退出的 放到運(yùn)算符左邊,運(yùn)算后的結(jié)果再進(jìn)棧,直到后綴表達(dá)式掃描完畢。
4、此時(shí),棧中僅有一個(gè)元素,即為運(yùn)算的結(jié)果。
5、例,求后綴表達(dá)式:1 2 + 8 2 - 7 4 - / * 的值, 棧的變化情如下:。
本文分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!