複製鏈接
請複製以下鏈接發送給好友

後綴式

鎖定
後綴式即逆波蘭式,是波蘭邏輯學家盧卡西維奇(Lukasiewicz)發明的一種表示表達式的方法。
中文名
後綴式
外文名
postfix expression;
發明者
盧卡西維奇
這種表示方式把運算符寫在運算對象的後面,例如,把a+b寫成ab+,所以也稱為後綴式。這種表示法的優點是根據運算對象和算符的出現次序進行計算,不需要使用括號,也便於用械實現求值。對於表達式x:=(a+b)*(c+d),其後綴式為xab+cd+*:=。
為運算符定義優先級:# ( + - * / **
-1 0 1 1 2 2 3
從原表達式求後綴式的規則為:
1.設定運算符棧
2.假設表達式的結束符為"#",我們需要預設運算符棧底元素為"#"
3.掃描表達式,若當前字符是操作數,則直接發送給後綴表達式;
4.若當前字符為運算符且優先級大於棧頂運算符,則進棧,否則退出棧頂運算符並將其發送給後綴式。然後將當前運算符放入棧中。
5.若當前字符是結束符,則將棧中的全部運算符依次發送給後綴式。
6.若當前字符為"(",進棧。
7.若當前字符為")",則從棧頂起,依次將棧中運算符出棧發送給ie後綴式,直到碰到"("。將棧中"("出棧,不需要發送給後綴式。然後繼續掃描表達式。