一、判斷題
堆棧後進先出,正确順序為231
無法判斷
3先出之後,說明2已入棧,那麼2就必須在1之前出棧
二、選擇題
p1有n-1種取值
BCD 1無法在2之前出棧
倒序出棧Pi=n-i+1
0表示出棧1表示入棧,則符合的出棧順序有:
1010101010
1110001010
1100101010
1011001010
1101001010
中綴表達式轉字尾表達式的方法:
1.遇到操作數:直接輸出(添加到字尾表達式中)
2.棧為空時,遇到運算符,直接入棧
3.遇到左括号:将其入棧
4.遇到右括号:執行出棧操作,并将出棧的元素輸出,直到彈出棧的是左括号,左括号不輸出。
5.遇到其他運算符:加減乘除:彈出所有優先級大于或者等于該運算符的棧頂元素,然後将該運算符入棧
6.最終将棧中的元素依次出棧,輸出。
遇到a輸出
字尾表達式:a
堆棧:null
遇到*入棧
字尾表達式:a
堆棧:
*
遇到(入棧
字尾表達式:a
堆棧:(*
遇到b輸出
字尾表達式:ab
堆棧(*
遇到+入棧
字尾表達式:ab
堆棧+(*
遇到c輸出
字尾表達式:abc
堆棧+(*
遇到):(之前出棧
字尾表達式:abc+
堆棧*
遇到-入棧*出棧
字尾表達式:abc+
*
堆棧-
遇到d輸出
字尾表達式:abc+*d
堆棧-
遇到中綴表達式結束:彈出所有的運算符并輸出
字尾表達式:abc+*d-
堆棧:null