伊莉討論區

標題: 求完整Java或C++程式碼解答 有註解佳 [打印本頁]

作者: like9850805    時間: 2017-11-4 04:13 AM     標題: 求完整Java或C++程式碼解答 有註解佳

Problem Describe

在資料結構的世界中,有著兩種很基礎的概念:堆疊與佇列。

    堆疊英文名稱:STACK,用法為後進先出(LIFO(Last In First Out),類似牛排層層往上疊。

    佇列英文名稱:QUEUE,用法為先進先出(FIFO(First In First Out)),型態類似排隊時的隊列。


此二概念通常會實作兩個操作,分別為PUSH和POP。

    PUSH: 將資料丟到此資料結構中。

    POP:   將資料從資料結構中取出來。

以下圖一為堆疊操作示意圖:

圖一


以下圖二為佇列操作示意圖:

圖二


現在給你指定要採用的資料結構,再給予數據,最後給予指令,請輸出正確的資料。


Input Describe

第一行先定義要採用的資料結構: 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! ,並結束程式。


Output Describe

請依照給予的指令輸出數據資料,每個資料間以空格間隔。


Sample InputSTACK101 2 3 4 5 6 7 8 9 10PUSHPUSHPUSHPOPPUSHPOPPOPPOPPOPPUSHPOPPUSHPUSHFINISHSample Output3 4 2 1 BOOM!

作者: jackyo04    時間: 2018-7-6 02:53 PM

請去研究陣列,然後再去看迴圈,最後去看列印
這三個東西就可以幫你作到你要的功能




歡迎光臨 伊莉討論區 (http://s03.p01.eyny.com/) Powered by Discuz!