中綴轉(zhuǎn)后綴表達式過程 中綴表達式轉(zhuǎn)換為前綴及后綴表達式并求值c ?
中綴表達式轉(zhuǎn)換為前綴及后綴表達式并求值c ?#Include使用命名空間STD bool isoperator(char CH){char OPS[]=“-*/”for(int i=0,i)]中綴表
中綴表達式轉(zhuǎn)換為前綴及后綴表達式并求值c ?
#Include使用命名空間STD bool isoperator(char CH){char OPS[]=“-*/”for(int i=0,i)]中綴表達式轉(zhuǎn)換為后綴表達式和求值算法:中綴表達式轉(zhuǎn)換為后綴表達式方法:
1。遇到的操作數(shù):直接輸出(添加到后綴表達式)
2。當堆棧為空時,遇到運算符,直接進入堆棧
3。遇到左括號:放在堆棧上
后綴表達式轉(zhuǎn)中綴表達式?
首先設置操作符的stack st,只從左邊掃描中綴表達式。1如果你遇到一個數(shù)字,把它直接放在后綴表達式的末尾;2。如果遇到運算符A:如果是空的,直接放到堆棧上;b:循環(huán):如果堆棧st不為空,并且堆棧頂部運算符的優(yōu)先級大于或等于當前運算符,則堆棧頂部運算符將從堆棧中取出并放在后綴表達式的末尾;c:如果堆棧st不為空,且頂層運算符的優(yōu)先級低于當前運算符,則直接將運算符放在堆棧上;重復1和2,直到掃描整個中綴表達式;如果堆棧st此時不為空,位于堆棧頂部的運算符將逐個從堆棧中取出,并逐個放置在后綴表達式的末尾。
如何在程序中將中綴表達式轉(zhuǎn)換為后綴表達式?
將中綴表達式轉(zhuǎn)換為后綴表達式a b*C-(D E)的方法根據(jù)運算符的優(yōu)先級為所有運算單元添加括號。((a(b*c))-(D,e))變換中綴和后綴表達式后綴:將運算符號移到相應的括號中。((a(BC)*(DE))-去掉括號,記住后綴表達式ABC*DE-可以發(fā)現(xiàn)后綴表達式不需要括號來調(diào)整操作優(yōu)先級。