國中教甄|資訊科技資訊科技112 年第 29 題單選題
下圖是一個使用連結串列(linked list)實作的堆疊(stack),堆疊中有三個節點,每個節點有兩個屬性:data 存此節點的資料、next 存下一個節點的位址
請問以下程式碼最有可能在進行堆疊的那個操作?
newNode.next = top
top = newNode
1 / 4A正確答案
將新節點的 next 指向目前的 top,再將 top 更新為新節點,此為堆疊推入(push)新元素的標準指標更新邏輯。
逐選項解析
Apush✓ 正確
推入(push)操作需將新節點加入堆疊頂端。先將新節點的 next 指標指向原 top 節點,再將 top 指標更新為新節點,完全符合題意。
Bpop✕ 錯誤
彈出(pop)操作是移除堆疊頂端節點,其邏輯為將 top 指標移至 top.next,並釋放原 top 節點的記憶體,與題幹程式碼不符。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本