作者x3767x (x3767x)
看板Grad-ProbAsk
標題[理工] 110 台聯 資結 4.(c)
時間Mon Jan 10 17:28:52 2022
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://webptt.com/m.aspx?n=bbs/Grad-ProbAsk/M.1641806934.A.87D.html
1F:推 pipiLUANAIAI: Linked list 一個node設大一點? 01/10 17:36
我原本也是這樣想,但一個大小為N的node跟N個大小為1的node應該還是不一樣吧
※ 編輯: x3767x (114.46.37.130 臺灣), 01/10/2022 17:41:11
2F:→ chengweihsu: 就一次直接allocate大小為n * sizeof(item)的space 01/10 19:18
3F:→ chengweihsu: 然後再用指標操作 01/10 19:19
原來如此!沒想到用指標操作這方法,感謝大大
※ 編輯: x3767x (114.46.37.130 臺灣), 01/10/2022 19:34:58
5F:推 MKMK777: 可以借問一下第二題怎麼做的嗎 01/13 17:02
6F:→ x3767x: 我是直接這樣寫 01/16 12:41
8F:推 MKMK777: 喔喔好的!感謝你 01/21 15:39