免費開始練習
地特四等 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」的順序在標準堆疊操作中是不可能發生的。

▼ 還有更多解析內容

🏷️ 相關主題

線性資料結構
查看更多「[電子工程] 計算機概要」的主題分類考古題