中華電信 101 資訊專業職三 16. - 考試

Table of Contents

16.如果有一個空的堆疊,使用者分別執行 PUSH 及 POP 的動作,將 A、B、C 三個資料
放進到堆疊(A 最先被PUSH 進堆疊),再由堆疊中取出(POP),如果 PUSH 及 POP 的
動作並沒有一定的順序(可能是 PUSH、POP、PUSH、… ;
也可能是 PUSH、PUSH、POP、… ),則取出後的順序不可為下列何者?
(注意最右邊的資料表示最先被取出的,
例如 C、B、A,表示 A 是第一個被取出的)

1. C、B、A 2. A、C、B 3. B、A、C 4. B、C、A

不好意思請教一下

A B C 有一定的 PUSH/POP 規則嗎,若沒有的話,堆疊裡面的排列應該存在各種狀況才對

不太懂為何有不可能出現的狀況

煩請賜教了,感恩~~~ m(_ _)m

--

All Comments

Quanna avatarQuanna2014-03-19
答案3就不可能 你有實際去操作過嗎?
Lauren avatarLauren2014-03-23
當C被最先pop後 A就一定比B晚pop所以不會有3的狀況
Necoo avatarNecoo2014-03-26
ABC被push的順序不能變動的話 3就不會成立
Carolina Franco avatarCarolina Franco2014-03-28
也就是不能跳過B先Push C 就不會出現3的答案
Hamiltion avatarHamiltion2014-03-31
這個是基本的堆疊操作耶...
Dora avatarDora2014-04-05
謝謝解惑,我是題意不太懂,題目說 A 第一個推進去,這
樣 A 應該永遠不可能第一個被 pop 出來... 若 push pop
隨意的話,也有可能出現 3 的情況不是嗎 ^^
Olga avatarOlga2014-04-07
我大概知道你沒注意到什麼了 C、B、A,表示 A 是第一
個被取出的
Emily avatarEmily2014-04-11
以我們習慣就該看成ABC 選項3是CAB
Robert avatarRobert2014-04-13
謝謝~~ 我瞭解了 ^^