用棧將中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式 后綴表達(dá)式求值算法?
后綴表達(dá)式求值算法?中綴表達(dá)式轉(zhuǎn)換為等價的后綴表達(dá)式后,計算中不再考慮運(yùn)算符的優(yōu)先級,只需從左到右掃描后綴表達(dá)式即可。具體求值步驟如下:從左到右掃描后綴表達(dá)式,取出表達(dá)式中運(yùn)算符的前兩個操作數(shù),遇到運(yùn)
后綴表達(dá)式求值算法?
中綴表達(dá)式轉(zhuǎn)換為等價的后綴表達(dá)式后,計算中不再考慮運(yùn)算符的優(yōu)先級,只需從左到右掃描后綴表達(dá)式即可。具體求值步驟如下:從左到右掃描后綴表達(dá)式,取出表達(dá)式中運(yùn)算符的前兩個操作數(shù),遇到運(yùn)算符時進(jìn)行運(yùn)算,然后將結(jié)果帶回后綴表達(dá)式;繼續(xù)掃描,直到后綴表達(dá)式的最后一個表達(dá)式。例如,計算后綴表達(dá)式(ABC*def*/-)的算法是設(shè)置堆棧。開始時,堆棧為空,然后從左到右掃描后綴表達(dá)式。如果遇到運(yùn)算符,它將進(jìn)入堆棧。如果遇到運(yùn)算符,它將從堆棧中退出兩個元素,首先退出的元素將放在運(yùn)算符的右側(cè),然后退出將其放在運(yùn)算符的左側(cè),然后將結(jié)果放在堆棧中,直到掃描后綴表達(dá)式。此時,堆棧中只有一個元素,這是操作的結(jié)果。例如,找到后綴表達(dá)式的值:128 2-74-/*堆棧的變化如下: