作者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/cn.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