1.從中綴表達式中逐字符讀入操作數
2.若操作數為數字,直接輸出到後綴表達式隊列
3.若操作數為左括號(,將其壓棧
4.若操作數為加減乘除運算符,將其與棧頂元素比較:
①操作數優先級高於棧頂元素,則將操作數壓棧;
②操作數優先級等於或低於棧頂元素,先將棧頂元素出棧,然後將操作數壓棧。
5.若操作數為右括號),從棧頂元素開始出棧,直到遇到左括號(為止,左括號也出棧。若直到棧底仍然沒有發現左括號,返回表達式匹配錯誤(說明右括號過多)
6.表達式讀取完畢,開始將棧中所有剩余元素出棧。若出棧過程中發現有左括號,返回表達式匹配錯誤(說明左括號過多)
除了左括號以外,所有出棧的元素都進入到後綴表達式隊列中。
7.根據後綴表達式計算算式結果。