实验四 动态分区分配方式的模拟 答案(4)
时间:2025-04-23
时间:2025-04-23
实验四 动态分区分配方式的模拟 答案
//为申请作业开辟新空间且初始化
DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode)); temp->data.ID=ID;
temp->data.size=request;
temp->data.state=Busy;
DuLNode *p=block_first->next;
while(p)
{
}
return ERROR;
}
//-------------------- 最佳适应算法 ------------------------ Status Best_fit(int ID,int request)
{
int ch; //记录最小剩余空间
DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode)); temp->data.ID=ID;
temp->data.size=request;
temp->data.state=Busy;
DuLNode *p=block_first->next;
DuLNode *q=NULL; //记录最佳插入位置
while(p) //初始化最小空间和最佳位置 if(p->data.state==Free && p->data.size==request) {//有大小恰好合适的空闲块 } if(p->data.state==Free && p->data.size>request) {//有空闲块能满足需求且有剩余" } p=p->next; temp->prior=p->prior; temp->next=p; temp->data.address=p->data.address; p->prior->next=temp; p->prior=temp; p->data.address=temp->data.address+temp->data.size; p->data.size-=request; return OK; break; p->data.state=Busy; p->data.ID=ID; return OK; break;
上一篇:高考英语常见熟词生义整理