Q22.
假設P 指標指向雙向鏈結串列的某一個節點,其中Precede 與Next 分別代表前一個節點與後一個節點之指標 。若P 的前一個與後一個節點均非空集合,欲將P 節點刪除,所需之處理步驟,下列何者是正確的?
電腦軟體設計共同科目 · 乙級 · Q22
難易度分析
3 / 5
此題要求考生精確掌握雙向鏈結串列中指標重新導向的邏輯。由於所有選項均為圖形化表示,考生必須能夠正確判讀指標變換的過程,並區分前向與後向指標更新的正確對象,具有一定的視覺化推論難度。
正確答案:③
③
:正確做法:先將 P->Precede->Next 指向 P->Next,再將 P->Next->Precede 指向 P->Precede,完整維持雙向鏈結的結構。
錯誤選項解析
- ①
:此圖示的指標重新連結順序有誤,可能導致鏈結斷裂或產生懸空指標,無法正確完成節點刪除。 - ②
:此圖示僅處理單向指標的重新連結,遺漏了反向指標的更新,會破壞雙向鏈結串列的完整性。 - ④
:此圖示的指標指向目標錯誤,可能將節點連結至不存在的記憶體位置,造成資料結構損毀。
Learning Tip
"雙向鏈結串列刪除節點的核心考點在於必須同時更新前向指標(Precede)與後向指標(Next)。常考陷阱包含:未處理邊界條件(首節點或尾節點刪除)、指標更新順序錯誤導致鏈結斷裂。實務操作時,應先確認相鄰節點是否為 NULL,再執行對應的指標重定向,避免記憶體存取違規。"
學員答題分佈
①
0%
②
0%
0%③
0%
④
0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!
相似類型題目
假設Cur 指標指向雙向鏈結串列的某一個節點,其中Precede 與Next分別代表前一個節點與後一個節點之指標 。若Cur 的前一個節點屬非空集合,欲在Cur 節點前新增一個節點P,所需之處理步驟,下列何者排列是正確的?
一單向鏈結串列如下圖所示,則下列那一個敘述錯誤?
從一個擁有n 個節點的鏈結串列刪除一個值為x 之節點,在最壞情況下所需時間複雜度為多少?
已知有n 筆資料,有關鏈結串列(Linked List)的敘述,下列何者是錯誤的?
利用環狀鏈結串列(Circular Linked List)來實作一個佇列(Queue),且該串列有一個後端指標(rearPtr)指向佇列之最後一個元素,若佇列之每一個節點結構如下,下列敘述中何者可以正確地取得佇列中的第一個元素資料 (假設在一個成員函式(Member Function)中,Private Member 的存取是合法的)?