棧實(shí)現(xiàn)表達(dá)式求值圖解 如何在知道中綴表達(dá)式的情況下求前綴表達(dá)式?
如何在知道中綴表達(dá)式的情況下求前綴表達(dá)式?中綴表達(dá)式轉(zhuǎn)換前綴表達(dá)式的操作過程如下:首先,設(shè)置運(yùn)算符堆棧,從右向左掃描中綴表達(dá)式。如果它是一個(gè)操作數(shù),它將直接包含在前綴表達(dá)式中。如果是操作員,則檢查探測
如何在知道中綴表達(dá)式的情況下求前綴表達(dá)式?
中綴表達(dá)式轉(zhuǎn)換前綴表達(dá)式的操作過程如下:首先,設(shè)置運(yùn)算符堆棧,從右向左掃描中綴表達(dá)式。如果它是一個(gè)操作數(shù),它將直接包含在前綴表達(dá)式中。如果是操作員,則檢查探測器是否為右支架。如果它是右括號,它將直接包含在堆棧中。如果是左括號,則逐個(gè)彈出堆棧中的運(yùn)算符,并包含在前綴表達(dá)式中,直到與右括號相交;如果是另一個(gè)運(yùn)算符,則包含在前綴表達(dá)式中,檢測堆棧頂部運(yùn)算符與當(dāng)前運(yùn)算符之間的優(yōu)先級關(guān)系。如果棧頂操作符的優(yōu)先級大于當(dāng)前操作符的優(yōu)先級,則會彈出堆棧并將其分類為前綴表達(dá)式,直到棧頂操作符的優(yōu)先級小于或等于當(dāng)前操作符的優(yōu)先級。此時(shí),當(dāng)前操作符被堆疊。掃描中綴表達(dá)式后,檢查運(yùn)算符堆棧是否為空。如果不為空,則將堆棧中的運(yùn)算符彈出到prefix expression中。最后翻轉(zhuǎn)前綴表達(dá)式,得到中綴表達(dá)式對應(yīng)的前綴表達(dá)式