- 5
- 0
- 约1.48万字
- 约 19页
- 2018-03-05 发布于河南
- 举报
《数据结构题集》答案第8章动态存储管理
第八章 动态存储管理
8.11
typedef struct {?????????? ?????? char *start; ???????????????? int size; ????????????? } fmblock; //空闲块类型
char *Malloc_Fdlf(int n)//遵循最后分配者最先释放规则的内存分配算法{??while(Gettop(S,b)b.sizen)??{????Pop(S,b);????Push(T,b); //从栈顶逐个取出空闲块进行比较??}??if(StackEmpty(S)) return NULL; //没有大小足够的空闲块??Pop(S,b);??b.size-=n;??if(b.size) Push(S,{b.start+n,b.size});//分割空闲块??while(!StackEmpty(T))??{????Pop(T,a);????Push(S,a);??} //恢复原来次序??return b.start;}//Malloc_Fdlf
mem_init()//初始化过程{??...??InitStack(S);InitStack(T); //S和T的元素都是fmblock类型??Push(S,{MemStart,MemLen}); //一开
原创力文档

文档评论(0)