recycle.h
来自「按序分配策略实现资源分配」· C头文件 代码 · 共 58 行
H
58 行
#include "order.h"
int recycle()
{
int s,len,t1=0,t2=0,t3=0,i,j;
printf("请输入回收区的起始地址:\n");
scanf("%d",&s);
printf("请输入回收区的大小:\n");
scanf("%d",&len);
for(i=0;i<6;i++)
{
if((empty[i].add_begin==s+len)&&(empty[i].state==0))//新空闲区的起始地址等于s+len
{ //则将分配了的空间len收回,且
//再将空闲区的起始地址减去len
//就得到了收回空间后的起始地址
len+=empty[i].size;
t1=1;
for(j=0;j<6;j++)
if((empty[j].add_begin+empty[j].size==s)&&(empty[j].state==0))
{
empty[i].state=1;
empty[j].size=empty[j].size+len;
t2=1;
break;
}
if(t2==0)
{
empty[i].add_begin=s;
empty[i].size=len;
break;
}
}
}
if(t1==0)
{
for(i=0;i<6;i++)
{
if((empty[i].add_begin+empty[i].size==s)&&(empty[i].state==0))
{
empty[i].size+=len;
t3=1;
break;
}
if(t3==0)
for(j=0;j<6;j++)
if(empty[j].state==1)
{
empty[j].add_begin=s;
empty[j].size=len;
empty[j].state=0;
break;
}
}
}
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?