Examly題庫立即開始練習
國中教甄|資訊科技資訊科技103 年第 35 題單選題

以下是鏈結串列(linked list)的結構: typedef struct node \*node\_pointer; typedef struct node { node-pointer llink; element item; node-pointer rlink; 給一鏈結串列(linked list)L,而要在L串列中的節點(node)x後方插入節點(node)p。假設節點(node)x不是串列L最後的節點。為了做到這一動作,以下的四個步驟必須按某次序執行。 <i>p->rlink = x->rlink; <ii>x->rlink = p; <iii>x->rlink->llink = p; <iv>p->llink = x; 對於以上的四個步驟,下列何者執行順序正確?

A<iv> <i> <iii> <ii>正確答案
B<iv> <iii> <ii> <i>
C<i> <ii> <iii> <iv>
D<ii> <i> <iv> <iii>
答案與詳解
A
正確答案
在雙向鏈結串列中插入節點時,必須先設定新節點的指標並更新相鄰節點的指標,最後才能改變原節點的右指標,以免覆蓋而遺失後續節點的連結。

逐選項解析

A<iv> <i> <iii> <ii>✓ 正確
先設定 p 的左右指標 (iv, i),再更新原右節點的左指標 (iii),最後更新 x 的右指標 (ii),可確保所有連結正確且不會遺失節點。
B<iv> <iii> <ii> <i>✕ 錯誤
步驟 (ii) 在 (i) 之前執行,會導致 x->rlink 先被改為 p,使得步驟 (i) 變成 p->rlink = p,造成環狀錯誤連結。
C<i> <ii> <iii> <iv>✕ 錯誤
D<ii> <i> <iv> <iii>✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly