問題詳情

二、有一個一維陣列(array)A,內含 6 個元素,分別為 A[1]、…、A[6]。每個元素含有兩個欄位:data 和 next。欄位 data 用來存放整數資料,欄位 next 儲存索引(index)用來鏈結下筆資料或空位。若 next 的值為-1 表示鏈結結束。所有存入的資料經由 next 欄位串在一起,所有空位亦經由 next 欄位串在一起。另外,有兩個變數 start 和 avail,分別表示第一筆資料和第一個空位的位置。每次一個整數要儲存時,便從 avail 中取出第一個空位,把整數放入,並且插入到資料串內適當的位置,而 avail 則記錄下一個空位的位置。當一筆資料被刪除時,其元素變成第一個空位,其後接原來的第一個空位,而資料相關位置不變。假設 A 陣列經過多次儲存和刪除後,其狀態如下所示:此時,start = 4 表示第一筆資料存在 A[4]中,下一筆在 A[1]中,再下一筆在 A[6]中。而 avail = 3 表示第一個可用的空位為 A[3],下一個可用的空位為 A[5],再下一個可用的空位為 A[2]。
⑴將一筆新的資料 40 存入 A 中,其位置介於資料 10 和 50 之間。請畫出存入 40 後的狀態。(5 分)

參考答案

答案:B
難度:簡單0.737491
統計:A(25),B(1076),C(332),D(26),E(0)

內容推薦