List是一個陣列,裡面的元素是 element, 它的定義如右。List 中的每一個 element 利用next 這個整數變數來記錄下一個 element在陣列中的位置,如果沒有下一個 element,next 就會記錄-1。所有的 element 串成了一個串列 (linked list)。例如在 list 中有三筆資料
它所代表的串列如下圖
RemoveNextElement 是一個程序,用來移除串列中current 所指向的下一個元素,但是必須保持原始串列的順序。例如,若current 為3 (對應到 list[3]),呼叫完RemoveNextElement 後,串列應為
- struct element
- {
- char data; int next;
- }
- void RemoveNextElement (element list[], int current)
- {
- if (list[current].next != -1)
- {
- /*移除 current 的下一個 element*/
- ______________________________
- }
- }
複製代碼 請問在空白部分,應該填入的程式碼為何?
(A) list[current].next = current ;
(B) list[current].next = list[list[current].next].next ;
(C) current = list[list[current].next].next ;
(D) list[list[current].next].next = list[current].next ; |