满意答案
zwm880920
2014.06.16
采纳率:50% 等级:8
已帮助:862人
有没有具体的要求,比方说数据结构方面,我这有一个,你可以参考参考 #include"stdio.h" #include"stdlib.h" #define n 10 /*假定系统允许的最大作业为n,假定模拟实验中n值为10*/ #define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/ #define minisize 100 struct{ float address; /*已分分区起始地址*/ float length; /*已分分区长度,单位为字节*/ int flag; /*已分配区表登记栏标志,用"0"表示空栏目*/ }used_table[n]; /*已分配区表*/ struct{ float address; /*空闲区起始地址*/ float length; /*空闲区长度,单位为字节*/ int flag; /*空闲区表登记栏标志,用"0"表示空栏目,用"1"表示未分配*/ }free_table[m]; /*空闲区表*/ void main( ) { int i,a; void allocate(char str,float leg);//分配主存空间函数 void reclaim(char str);//回收主存函数 float xk; char J;/*空闲分区表初始化:*/ free_table[0].address=10240; free_table[0].length=102400; free_table[0].flag=1; for(i=1;i=leg) { fflag=1;break; } } if(fflag==0) printf("没有满足条件的空闲区\n"); else { ressize=free_table[i].length-leg; for(k=0;k
20分享举报