民國106年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第35題

若有一堆疊( S t a c k ) 的資料結構,P U S H ( X ) 代表將暫存器X 的內容放入堆疊當中,P O P ( X ) 代表從堆疊取出一個數字…

題目

若有一堆疊( S t a c k ) 的資料結構,P U S H ( X ) 代表將暫存器X 的內容放入堆疊當中,P O P ( X ) 代表從堆疊取出一個數字放入暫存器X 中。假設暫存器A、B、C、D 的內容分別為20、30、40、50,則依序執行P U S H ( A )、P U S H ( B )、P U S H ( C )、P O P ( A )、P U S H ( D )、P U S H ( B ) 、 P O P ( A ) 、P O P ( B ) 後,暫存器B 中的內容為何?

  1. (1) 20
  2. (2) 30
  3. (3) 40
  4. (4) 50

官方答案

(4) 50

解析

堆疊為後進先出(LIFO)。依序執行:PUSH(A)、PUSH(B)、PUSH(C)後堆疊內容為 20、30、40;POP(A)取出 40 放入 A,堆疊剩 20、30;PUSH(D)推入 50;PUSH(B)把 30 再推入,堆疊為 20、30、50、30;POP(A)取出 30 放入 A;POP(B)取出最頂端的 50 放入 B。故暫存器 B 的內容為 50。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料