package Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class adapt {
public static void main(String[] args) {
Txt txt = new Txt();
txt.request();
}
}
class init{
ArrayList<Area> area = new ArrayList<Area>();
public init(){
// TODO 自动生成的构造函数存根
area.add(new Area( 0,0,40,"空闲"));
area.add(new Area( 1,40,20,"空闲"));
area.add(new Area( 2,60,50,"空闲"));
area.add(new Area( 3,110,100,"空闲"));
}
}
class Txt{
public void request() {
init t1 = new init();
init t2 = new init();
init t3 = new init();
System.out.println("分区号 起始地址 分区大小 状态 ");
for (int i = 0; i < t1.area.size() ;i++) {
System.out.println(i+"\t"+t1.area.get(i).toString());
}
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择 1.分配(A) 2.回收(B) 3.退出登陆(C)");
String select = scanner.next();
switch(select) {
case "A":
System.out.println("请输入分配的大小:");
int number = scanner.nextInt();
firstAdapt(number,t1.area);
bestAdapt(number, t2.area);
badAdapt(number,t3.area);
break;
case "B":
System.out.println("请输入回收的大小:");
int number1 = scanner.nextInt();
System.out.println("首次适应算法的回收————————————————————————————————————————");
reUse(number1,t1.area);
System.out.println("最佳适应算法的回收————————————————————————————————————————");
reUse(number1,t2.area);
System.out.println("最坏适应算法的回收————————————————————————————————————————");
reUse(number1,t3.area);
break;
case "C":
System.out.println("程序结束");
System.exit(-1);
break
实验一循环首次适应算法
最新推荐文章于 2022-11-20 19:39:00 发布
本文详细探讨了循环首次适应算法在操作系统内存管理中的应用,阐述了其工作原理及优缺点。通过对实例的分析,揭示了该算法如何有效地分配和回收内存块,以适应不同大小的进程需求。
摘要由CSDN通过智能技术生成