簡介
中綴表達(dá)式
就是我們?nèi)粘K褂玫谋磉_(dá)式
a+b*c+(d*e+f)*g
后綴表達(dá)式
更加的線性,更容易被機(jī)器所理解
對應(yīng)上面
abc * + de * f + g * +
思想
- 從輸入中循環(huán)遍歷每一個字符
- 非運(yùn)算符(數(shù)字)直接輸出
- 運(yùn)算符做如處理
- 若棧為空
- 遇到普通運(yùn)算符{+ - * /},若棧頂元素優(yōu)先級
>=即將入棧的運(yùn)算符(還未入棧)且棧部位空,
彈出并輸出棧頂元素,知道條件不滿足,則將為入棧的運(yùn)算符壓入棧中 - 遇到做括號( ,直接壓入棧中,
壓入后除非遇到右括號,否則不彈出。 - 遇到右括號),彈出并輸出棧頂元素,知道遇到棧中的做括號(
左括號只彈出不輸出
- 遇到普通運(yùn)算符{+ - * /},若棧頂元素優(yōu)先級
- 若棧為空
- 循環(huán)結(jié)束,將棧中的元素全部彈出并輸出即可。