1 / 18
文档名称:

2022年循环首次适应算法、首次适应算法、最佳适应算法C语言版.docx

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

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

分享

预览

2022年循环首次适应算法、首次适应算法、最佳适应算法C语言版.docx

上传人:橙老师 2022/8/4 文件大小:43 KB

下载得到文件列表

2022年循环首次适应算法、首次适应算法、最佳适应算法C语言版.docx

文档介绍

文档介绍:精选学****资料
- - - - - - - - -
#include<>
#define getpch〔type〕 〔type*〕malloc〔sizeof〔type〕〕
struct LNode size,start,i;
L=getpch〔LN〕;
/* 生成一个表头结点
*/
L->next=NULL;
L->front=NULL;
printf〔" 请输入闲暇区数 :"〕;
scanf〔"%d",&n〕;
for〔i=1;i<=n;i++〕
{
printf〔" 请输入第 %2d 闲暇区的大小和始址
:",i〕; scanf〔"%3d,%3d",&size,&start〕;
InsertList〔size,start〕;
}
printf〔"\n 按任意键连续 "〕;
//printf〔"\n 闲暇链表情形 :\n"〕;
名师归纳总结
- - - - - - -
第 3 页,共 9 页
精选学****资料
- - - - - - - - -
//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;
名师归纳总结
- - - - - - -
第 4 页,共 9 页
精选学****资料
- - - - - - - - -
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=1;
printf〔" 安排后的闲暇链表情形如下: \n"〕;
Print〔L〕;
break;
}
}
if〔flag==-1〕
{ p=L->next;
t=L;
while〔p.=find〕
{
if〔size > p->size〕
{
p=p->next;
t=t->next;
if〔.p〕
{
名师归纳总结
printf〔" 没有足够大的闲暇区安排!安排不胜利
"〕;
第 5 页,共 9 页
- - - - - - -
精选学****资料
- - - - - - - - -
}
}
else
{
p->size = p->size - size;
p->start= p->start + size ;
find=t;
if〔p