欢迎来到天天文库
浏览记录
ID:34710467
大小:52.20 KB
页数:4页
时间:2019-03-09
《可变分区首次适应算法(java版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、运行平台:MyEclipse使用方法:新建一个Distribution1类,粘贴代码即可packagemypackage;importjavax.swing.JOptionPane;publicclassDistribution1{intsize=0;publicintj;//用于记录内存分块数int[]part=newint[1000];//用于记录内存分块的大小int[]address=newint[1000];//用于记录内存分块的起始地址int[]flag=newint[1000];//用于记录内存分块的分配情况StringSuggestion;Distribution
2、1(){for(inti=0;i<1000;i++){part[i]=0;address[i]=0;flag[i]=0;}}//endDistribution1()voidInput(){Suggestion=JOptionPane.showInputDialog("请输入可分配内存的大小:");size=Integer.parseInt(Suggestion);}//endInput()voidOutput(){Suggestion="
3、"+"分区号"+"
4、"+"分区大小"+"
5、"+"起始地址"+"
6、"+"状态"+"
7、";for(intk=0;k<=j;k++){Sugges
8、tion+="
9、"+k+"
10、";Suggestion+=part[k]+"
11、";Suggestion+=address[k]+"
12、";Suggestion+=flag[k]+"
13、";}JOptionPane.showMessageDialog(null,Suggestion,"内存分配情况",JOptionPane.INFORMATION_MESSAGE);}//endOutput()voidBegin(){chars='y';inti=0;intcount=0;Suggestion=JOptionPane.showInputDialog("请输入内存的起始地址:");ad
14、dress[i]=Integer.parseInt(Suggestion);//记录首地址Suggestion=JOptionPane.showInputDialog("请输入第0块分区的大小:");part[i]=Integer.parseInt(Suggestion);//记录第0块分区的大小count=part[i];flag[i]=1;i++;j++;Suggestion=JOptionPane.showInputDialog("是否继续分块,是请输入'y'或'Y',否请输入任意字符:");s=Suggestion.charAt(0);while(s=='y'
15、
16、s==
17、'Y'){Suggestion=JOptionPane.showInputDialog("请输入第"+i+"块分区的大小");part[i]=Integer.parseInt(Suggestion);if(size-count18、否继续,是请输入'y'或'Y',否则请输入任意的字符:");s=Suggestion.charAt(0);}//while(s=='y'19、20、s=='Y')part[i]=size-count;address[i]=address[i-1]+part[i-1];flag[i]=0;}//endBegin()voidRestore(){//可作改进,在Suggestion中输入所有要回收的内存块,再将其解析出来。chars;inti;intk=0;intcount=0;inttag=0;intnumber[]={'0','1','2','3','4','5','6','7','8'21、,'9'};Suggestion=JOptionPane.showInputDialog("是否要回收内存,是请输入'y'或'Y',否请输入任意的字符:");s=Suggestion.charAt(0);if(s=='y'22、23、s=='Y'){Suggestion=JOptionPane.showInputDialog("请输入要回收的内存块号,中间以空格相间并以空格结尾:");for(i=0;i
18、否继续,是请输入'y'或'Y',否则请输入任意的字符:");s=Suggestion.charAt(0);}//while(s=='y'
19、
20、s=='Y')part[i]=size-count;address[i]=address[i-1]+part[i-1];flag[i]=0;}//endBegin()voidRestore(){//可作改进,在Suggestion中输入所有要回收的内存块,再将其解析出来。chars;inti;intk=0;intcount=0;inttag=0;intnumber[]={'0','1','2','3','4','5','6','7','8'
21、,'9'};Suggestion=JOptionPane.showInputDialog("是否要回收内存,是请输入'y'或'Y',否请输入任意的字符:");s=Suggestion.charAt(0);if(s=='y'
22、
23、s=='Y'){Suggestion=JOptionPane.showInputDialog("请输入要回收的内存块号,中间以空格相间并以空格结尾:");for(i=0;i
此文档下载收益归作者所有