Board logo

標題: 10503_6_ [打印本頁]

作者: may    時間: 2023-5-12 15:50     標題: 10503_6_

List是一個陣列,裡面的元素是 element, 它的定義如右。List 中的每一個 element 利用next 這個整數變數來記錄下一個 element在陣列中的位置,如果沒有下一個 element,next 就會記錄-1。所有的 element 串成了一個串列 (linked list)。例如在 list 中有三筆資料
[attach]15604[/attach]
它所代表的串列如下圖
[attach]15603[/attach]
RemoveNextElement 是一個程序,用來移除串列中current 所指向的下一個元素,但是必須保持原始串列的順序。例如,若current 為3 (對應到 list[3]),呼叫完RemoveNextElement 後,串列應為
[attach]15605[/attach]
[attach]15605[/attach]
  1. struct element
  2. {
  3.       char data; int next;
  4. }
  5. void RemoveNextElement (element list[], int current)
  6. {
  7.       if (list[current].next != -1)
  8.       {
  9.             /*移除 current 的下一個 element*/

  10.            ______________________________
  11.       }
  12. }
複製代碼
請問在空白部分,應該填入的程式碼為何?

(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 ;
作者: may    時間: 2023-5-12 15:59

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2