【linux课程设计】可变分区最佳适应算法源代码

【linux课程设计】可变分区最佳适应算法源代码

ID:30372022

大小:68.04 KB

页数:8页

时间:2018-12-29

【linux课程设计】可变分区最佳适应算法源代码_第1页
【linux课程设计】可变分区最佳适应算法源代码_第2页
【linux课程设计】可变分区最佳适应算法源代码_第3页
【linux课程设计】可变分区最佳适应算法源代码_第4页
【linux课程设计】可变分区最佳适应算法源代码_第5页
资源描述:

《【linux课程设计】可变分区最佳适应算法源代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、更多课程设计、论文、毕业设计请访问:http://www.docin.com/mydoc-5887523-1.html&folderId=72986#include#include#include#include//采用最佳适应算法来实现可变分区的管理//数据结构的设计typedefstructnode{charname[10];//作业的名字intstart,length;//作业的起始地址和长度structnode*next;//链表结构体}*table;//为合并空闲区表而临时增加的一个数据结构//将空闲表

2、中的数据项都存在这个结构的数组中//然对这个数组进行排序,最后得到从小到大的空闲区表structpnode{intstart,length;//起始地址和长度};intmenu()//选择菜单{intn;for(;;){printf("________________________");printf("****************

3、最佳适应算法进行可变分区

4、***************");printf("*

5、*

6、*

7、*

8、*

9、*

10、*

11、*

12、*

13、*

14、*

15、*

16、*

17、*

18、*

19、*

20、*

21、*

22、*

23、*

24、*

25、*

26、*

27、*

28、*

29、*

30、*

31、*

32、*");printf("*1输入作业数及大小(单位KB

33、)*");printf("*2查看内存使用情况*");printf("*3释放内存*");printf("*4查看空闲区表的情况*");printf("*5退出程序*");printf("*

34、*

35、*

36、*

37、*

38、*

39、*

40、*

41、*

42、请输入您的选择*

43、*

44、*

45、*

46、*

47、*

48、*

49、*

50、*

51、*

52、*

53、*

54、*");scanf("%d",&n);while(n<1

55、

56、n>5){printf("输入有误请重新输入");scanf("%d",&n);}returnn;}}//要建立两张表,一张是进程占用分区状况表,一张是空闲区表tablep;//占用表更多课程设计、论文、毕业设计请访问:h

57、ttp://www.docin.com/mydoc-5887523-1.html&folderId=72986tablef;//空闲表voidinit()//两张表的初始化{p=(table)malloc(sizeof(structnode));//头结点p->next=NULL;//初始化是,占用表为空f=(table)malloc(sizeof(structnode));//头结点tablef1=(table)malloc(sizeof(structnode));//初始定义为1K的内存,有一个空闲空间f1->start=0;f1->length=1024;//定义内存为1k;f1->

58、next=NULL;f->next=f1;//将f1插入表空闲中}//输出内存使用表voidprintfUse(){tablep1=p->next;//将使用表的所有内容显示出来printf("作业名起始地址长度");while(p1!=NULL){printf("%s",p1->name);printf("%d",p1->start);printf("%d",p1->length);p1=p1->next;}}//尚未使用的内存空闲表voidprintfNotUse(){tablef1=f->next;printf("起始地址空闲区大小");while(f1!=NULL){p

59、rintf("%d",f1->start);printf("%d",f1->length);f1=f1->next;}}//将合并后的链表进行排序voidsort(){structpnodea[100];inti=0,temp,temp1;tablef1;更多课程设计、论文、毕业设计请访问:http://www.docin.com/mydoc-5887523-1.html&folderId=72986f1=f->next;while(f1!=NULL)//将空闲分区保存到数组中,进行排序。{a[i].length=f1->length;a[i].start=f1->start;i++;

60、f1=f1->next;}//对数组进行排序,冒泡法for(intk=0;ka[j+1].length){temp=a[j+1].length;temp1=a[j+1].start;a[j+1].length=a[j].length;a[j+1].start=a[j].start;a[j].length=temp;a[j].s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。