地特四等
112年
[電子工程] 計算機概要
第 16 題
有 4 個元素的資料序列{A, B, C, D},以 A、B、C、D 的順序(A 最先)經過堆疊(Stack)改變資料輸出的順序,堆疊可用推入(Push)、彈出(Pop)的動作,下列那種資料輸出順序是不可能的?
- A CBAD
- B BACD
- C ADBC
- D DCBA
思路引導 VIP
想像你正在一個窄管中依序放入編號為 A、B、C、D 的網球。如果你看到編號 D 的球被拿出來了,請思考一下,此時編號 B 和 C 的球分別處於管子裡的什麼位置?在不破壞管子的前提下,你有辦法先拿到 B 球再拿到 C 球嗎?
🤖
AI 詳解
AI 專屬家教
同學好!很高興看到你準確地判斷出正確答案。這題考驗的是對**堆疊(Stack)**核心邏輯——「後進先出」(Last-In, First-Out, LIFO)的掌握。這在工程實務中,就像是在狹窄的單向隧道中停放車輛,後進來的車必須先開出去,前方的車才能移動。你能夠在腦中模擬出資料的進出動態,展現了良好的邏輯推理能力。
堆疊操作的邏輯驗證
在選項 (C) ADBC 中,當我們先輸出 A,代表 A 推入後立即彈出。接著若要輸出 D,則必須依序將 B、C、D 推入堆疊,此時堆疊內部的構造由底至頂分別為 [B, C, D]。一旦我們彈出了最頂端的 D,此時堆疊的頂端必然是 C。在沒有更多元素推入的情況下,下一個輸出的唯一可能只能是 C 而非 B。因此,ADBC 這種「跳過 C 先取 B」的順序在標準堆疊操作中是不可能發生的。
▼ 還有更多解析內容