1 / 9
文档名称:

循环首次适应算法首次适应算法最佳适应算法C语言版.doc

格式:doc   大小:29KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

循环首次适应算法首次适应算法最佳适应算法C语言版.doc

上传人:zxwziyou8 2022/4/3 文件大小:29 KB

下载得到文件列表

循环首次适应算法首次适应算法最佳适应算法C语言版.doc

文档介绍

文档介绍:#include<>
#define getpch(type) (type*)malloc(sizeof(type))
struct LNode
{ int size;
int start;
int e",&n);
for(i=1;i<=n;i++)
{
printf("请输入第%2d空闲区的大小和始址:",i);
scanf("%3d,%3d",&size,&start);
InsertList(size,start);
}
printf("\n按任意键继续");
//printf("\n空闲链表情况:\n");
//PrintList();
}// end of GetFree
void Assign(int size) /*最佳适应算法和首次适应算法空闲分区的分配*/
{
LN *p,*t;
p=L->next;
t=L;
while(p)
{
if(size > p->size)
{
p=p->next;
t=t->next;
if(!p)
{
printf("没有足够大的空闲区分配!分配不成功");
}
}
else
{
p->size = p->size - size;
p->start= p->start + size ;
if(p->size==0)
{
t->next = p->next ;
p->next->front=t;
n--;
free(p);
}
printf("分配成功!\n");
printf("分配后的空闲链表情况如下:\n");
PrintList();
break;
}
}
}// end of FF_Assign
int flag=-1;
void NF_Assign(int size)/*循环首次适应算法的分配*/
{
LN *p,*t;
int i=n;
p=find->next;
t=find;
while(p)
{
if(size > p->size)
{
p=p->next;
t=t->next;
if(!p)
{
printf("没有足够大的空闲区分配!分配不成功");
}
}
else
{
p->size = p->size - size;
p->start= p->start + size ;
find=p;
if(p->size==0)
{
t->next = p->next;
p->next->front=t;
n--;
free(p);
}
printf("分配成功!\n");
flag=