[理工] 110 台聯 資結 4.(c)

看板Grad-ProbAsk作者 (x3767x)時間3年前 (2022/01/10 17:28), 3年前編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
4.(c) 請問這題有什麼神奇的方法可以只call一次memory allocation就有n的item嗎 我對這題的理解是題目要我們寫出n個item的可使用空間insert 到 available list裡面, 但如果用 for i=1 to N do { new(item); //allocate memory space to a new item; item -> next = AVlist; AVlist = item; } 這樣是不是算call了一次以上 懇請各位賜教了 https://i.imgur.com/5YzLgTf.jpg
----- Sent from JPTT on my iPad -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.46.37.130 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1641806934.A.87D.html

01/10 17:36, 3年前 , 1F
Linked list 一個node設大一點?
01/10 17:36, 1F
我原本也是這樣想,但一個大小為N的node跟N個大小為1的node應該還是不一樣吧 ※ 編輯: x3767x (114.46.37.130 臺灣), 01/10/2022 17:41:11

01/10 19:18, 3年前 , 2F
就一次直接allocate大小為n * sizeof(item)的space
01/10 19:18, 2F

01/10 19:19, 3年前 , 3F
然後再用指標操作
01/10 19:19, 3F

01/10 19:20, 3年前 , 4F
原來如此!沒想到用指標操作這方法,感謝大大 ※ 編輯: x3767x (114.46.37.130 臺灣), 01/10/2022 19:34:58

01/13 17:02, , 5F
可以借問一下第二題怎麼做的嗎
01/13 17:02, 5F

01/16 12:41, , 6F
我是直接這樣寫
01/16 12:41, 6F

01/16 12:41, , 7F

01/21 15:39, , 8F
喔喔好的!感謝你
01/21 15:39, 8F
文章代碼(AID): #1Xs_nMXz (Grad-ProbAsk)