在資料結構的世界中,有著兩種很基礎的概念:堆疊與佇列。
堆疊英文名稱:STACK,用法為後進先出(LIFO(Last In First Out),類似牛排層層往上疊。
佇列英文名稱:QUEUE,用法為先進先出(FIFO(First In First Out)),型態類似排隊時的隊列。
此二概念通常會實作兩個操作,分別為PUSH和POP。
PUSH: 將資料丟到此資料結構中。
POP: 將資料從資料結構中取出來。
以下圖一為堆疊操作示意圖:
圖一
以下圖二為佇列操作示意圖:
圖二
現在給你指定要採用的資料結構,再給予數據,最後給予指令,請輸出正確的資料。
第一行先定義要採用的資料結構: STACK or QUEUE (皆為英文大寫)。
第二行定義資料個數n個,如 1 2 3 4 5 則資料個數為5,每個資料為1~100的整數,資料數最大為1000個。
第三行給予n個資料,以空格間隔,數據從第一個開始丟入資料結構內,如 1 2 3 4 5 則第一個丟入資料結構之值為 1。
接下來每一行則給不定量指令,POP or PUSH (英文大寫),最後輸入 FINISH (英文大寫) 表示指令結束。
如果在POP指令下達時,資料結構內容為空,或PUSH指令下達時,已經沒有資料可以輸入,請輸出 BOOM! ,並結束程式。
請依照給予的指令輸出數據資料,每個資料間以空格間隔。
歡迎光臨 伊莉討論區 (http://a401.file-static.com/) | Powered by Discuz! |