- 7
- 0
- 约5.45千字
- 约 31页
- 2018-08-20 发布于江苏
- 举报
第三节:首次适应法的分析
* malloc(),mfree() 2015.4.7星期二(双周) 深刻理解计算机 上机编程:分配器 首次适应算法、最佳适应算法、下一次适应算法 首次适应算法分析 #includestdlib.h void *malloc(size_t,size); malloc函数返回一个指针,指向大小为至少size字节的存储器块。 如果malloc遇到问题,那么返回NULL。 注意:与教材中的malloc函数不同。 free函数释放已经分配的malloc块 #includestdlib.h void free(void *ptr) Ptr参数必须指向一个从malloc获得的已经分配块的起始位置。 malloc和free分配和释放块 1 2 3 4 malloc(4*sizeof(int)) 1 2 3 4 5 6 7 8 9 malloc(5*sizeof(int)) 1 2 3 4 free 第二次分配的5个int 1 2 3 4 5 6 malloc(2*sizeof(int)) malloc算法分析 首次适应算法:从头开始搜索空闲链表,选择第一个合适的空闲块。 将大的空闲块保留在链表的后面。链表起始处留下小的空闲块的碎片,增加了对较大块的搜索时间。 首次适应算法速度很快,因为它尽可能少地搜索链表结点。 下一次适应算法和首次适应算法很相似,是不过不是从链表的起始处开始每次搜索,而是从上一
原创力文档

文档评论(0)