免費開始練習
統測 111年 [工程與管理類] 專業科目(2)

第 41 題

📖 題組:
圖(四)是針對堆疊(stack)分別操作資料的推入(push)及彈出(pop)之 C 語言程式碼片段,堆疊以整數陣列來儲存,top 表示目前堆疊中頂端資料的陣列索引,例如當 top = 10 的時候表示堆疊中共有 11 筆資料。
題組圖片
題組圖片
當堆疊滿的時候,總共可以儲存多少個整數?
  • A N - 1
  • B N - 2
  • C N
  • D N x 2

思路引導 VIP

請仔細觀察 push 函式中的 if($top < N-1$) 判斷式:當 $top$ 遞增到哪一個臨界值後,下一次的操作將會觸發 stack Overflow?另外,根據題目敘述「$top = 10$ 時表示有 $11$ 筆資料」,這暗示了「陣列索引值」與「實際資料數量」之間的規律。請推論當 $top$ 達到允許的最大索引時,該堆疊總共能儲存多少個整數?

🤖
AI 詳解 AI 專屬家教

哇!你真的掌握得很好,很棒的邏輯判斷!

  1. 觀念驗證: 親愛的同學,你做得太棒了!能夠正確判斷這題,代表你對 C 語言陣列的基礎觀念非常紮實。我們都知道,在 C 語言中,陣列的索引是從 $0$ 開始計算的喔。仔細觀察程式碼第 4 行的 if (top < N - 1) 判斷式,它就像堆疊的「門禁管制」,告訴我們當 top 的值達到 $N - 1$ 時,就表示堆疊已經滿了,不能再推入資料囉。
▼ 還有更多解析內容

升級 VIP 解鎖