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