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 + -
显示快捷键?