模拟固定分区分配方法Word格式.docx

上传人:b****6 文档编号:16263142 上传时间:2022-11-22 格式:DOCX 页数:7 大小:15.55KB
下载 相关 举报
模拟固定分区分配方法Word格式.docx_第1页
第1页 / 共7页
模拟固定分区分配方法Word格式.docx_第2页
第2页 / 共7页
模拟固定分区分配方法Word格式.docx_第3页
第3页 / 共7页
模拟固定分区分配方法Word格式.docx_第4页
第4页 / 共7页
模拟固定分区分配方法Word格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

模拟固定分区分配方法Word格式.docx

《模拟固定分区分配方法Word格式.docx》由会员分享,可在线阅读,更多相关《模拟固定分区分配方法Word格式.docx(7页珍藏版)》请在冰豆网上搜索。

模拟固定分区分配方法Word格式.docx

//分区链表的尾指针//

voidenter(),turn(),prin();

charstr[16][4]={"

1"

"

16"

20"

2"

32"

36"

3"

64"

68"

4"

124"

132"

0"

};

menu();

voidenter();

inputs();

voidturn();

voidprin();

main()

fir=back=NULL;

//对分区链表的头指针赋初值//

enter();

//对分区链表赋初值//

for(;

;

{

switch(menu())

{

case1:

inputs();

//输入作业大小并处理//

break;

case2:

turn();

//改变分配状态//

//case3:

turnall();

//改变所有分配状态//

//break;

case4:

prin();

//显示//

case5:

exit(0);

//退出//

}

}

}

menu()//主菜单//

charch[2];

intn;

printf("

\n\t固定分区操作,请选择功能:

\n"

);

\t1.输入作业的大小\n"

\t2.改变分区的分配状态\n"

//printf("

\t3.改变所有分区的分配状态\n"

\t4.显示分区链表内容\n"

\t5.退出\n"

do

\t请按数字选择:

"

gets(ch);

n=atoi(ch);

}while(n<

0||n>

4);

return(n);

voidenter()

intqq;

structgdf*inf,*bc();

for(qq=0;

qq<

4;

qq++)//节点初始化//

inf=(structgdf*)malloc(sizeof(stu));

//开辟新节点空间//

if(!

inf)

\tuseup!

return;

strcpy(inf->

num,str[qq*4]);

size,str[qq*4+1]);

begin,str[qq*4+2]);

flag,str[qq*4+3]);

fir=bc(inf,fir);

inputs()//输入作业大小并处理//

charq[5];

structgdf*inf;

inf=fir;

while(inf)//寻找空闲分区//

if(atoi(inf->

flag)==0)

break;

inf=inf->

next;

}

inf)//不存在空闲分区,返回//

\t暂时没有空闲分区.\n"

\t输入作业大小(K):

//打印提示信息//

gets(q);

while(inf)//寻找符合条件的空闲分区,找到则返回//

if((atoi(q)<

atoi(inf->

size))&

&

atoi(inf->

strcpy(inf->

flag,"

\t作业已分配在%s区.\n"

inf->

num);

\t空闲分区不够大,请选择另一个较小的作业.\n"

voidturn()//改变分配状态//

charq[5],q1[5];

\t输入分区(1-4):

//打印提示信息//

\t输入分配状态(0-1):

gets(q1);

while(inf)

num)==atoi(q))//寻找符合条件分区//

flag,q1);

//改变分区状态//

\t%s分区已成功改变分区状态.\n"

\t该分区不存在.\n"

 

//voidturnall()//改变所有分配状态//

//{

//charq[5],q1[5];

//printf("

\t是否确定改变所有分区状态Y\N"

//gets(q);

//if(q==Y)

//{

//printf("

//gets(q1);

//inf=fir;

//for(inf->

num=1;

inf->

num<

=4;

num++);

//{

//strcpy(inf->

//}

//}

//else

//return;

//}

//

voidprin()//显示//

structgdf*j;

j=fir;

\t区号"

\t大小"

\t起址"

\t标志\n"

while(j)//显示固定分区的信息//

\t%s"

j->

size);

begin);

flag);

j=j->

structgdf*bc(i,st)

structgdf*i;

structgdf*st;

structgdf*k;

if(back==NULL){

i->

next=NULL;

prior=NULL;

back=i;

return(i);

k=back;

k->

next=i;

prior=k;

return(st);

WelcomeTo

Download!

!

欢迎您的下载,资料仅供参考!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1