. -
printf("没有空闲的区域!");
p=NULL;
return p;
}
else
{
while(p!=NULL && a>p->size)
p=p->after;
if(p==NULL)
{
printf("没有找到适宜的空闲空间!");
p=NULL;
return p;
}
else
return p;
}
}
void recovery(int a,int b) //存回收算法
{
node *c,*s,*r=L.after;
node *d=L.after,*e;
usenode *k=U.next,*h=&U;
while(k!=NULL && a!=k->num)
{
h=k;
k=k->next;
}
if(k==NULL)
printf("没有找到这样的作业!");
else
{
h->next=k->next;
if(h->next==NULL)
n=h;
}
while(r!=NULL) //假设回收得到的空闲块的前方有空闲块合并此空闲块
{
if(k->add==r->address+r->size)
{
. 可修编.