Java二维数组排序

package 调度算法;

public class Diaodu {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String name[]= {"       进程名", "        到达时间", "     运行时间", "   优先级"};
			for(int i=0;i<name.length;i++){
				System.out.print(name[i]);
			}
			System.out.println();
		double a[][]= {{1,8.00,2.00,2},{2,8.50,0.50,4},{3,9.00,0.10,3},{4,9.50,0.20,1}};
			for(int j=0;j<a.length;j++){
				for(int i=0;i<a[j].length;i++){
				System.out.print( "   "+ a[j][i]);
			}
			System.out.println();
		}

			System.out.println();
		System.out.println("短作业优先算法,调度如下:");
		for (int n=0; n<a.length;n++){//按运行时间由短到长排序
			for(int m=n+1;m<a.length;m++){
				if(a[m][2]<a[n][2]){
					double t = a[m][2]; 
					double f = a[m][0];
					double b = a[m][1];
					double o = a[m][3];
					a[m][2]=a[n][2];
					a[m][0]=a[n][0];
					a[m][1]=a[n][1];
					a[m][3]=a[n][3];
					a[n][2]= t;
					a[n][0]= f;
					a[n][1]= b;
					a[n][3]= o;
				}//必须把4个数据都交换
			}
		}
		for(int i=0;i<name.length;i++){
			System.out.print(name[i]);
	}
	System.out.println();
			for(int j=0;j<a.length;j++){
				for(int i=0;i<a[j].length;i++){
					System.out.print( "   "+ a[j][i]);
				}
				System.out.println();
			}

		System.out.println();
		System.out.println("优先级算法,调度如下:");
		for (int n=0; n<a.length;n++){
			for(int m=n+1;m<a.length;m++){
				if(a[m][3]<a[n][3]){
					double t = a[m][2]; 
					double f = a[m][0];
					double b = a[m][1];
					double o = a[m][3];
					a[m][2]=a[n][2];
					a[m][0]=a[n][0];
					a[m][1]=a[n][1];
					a[m][3]=a[n][3];
					a[n][2]= t;
					a[n][0]= f;
					a[n][1]= b;
					a[n][3]= o;
				}
			}
		}
		for(int i=0;i<name.length;i++){
			System.out.print(name[i]);
	}
	System.out.println();
			for(int j=0;j<a.length;j++){
				for(int i=0;i<a[j].length;i++){
					System.out.print( "   "+ a[j][i]);
				}
				System.out.println();
			}

		System.out.println();
		
	}

}
这是简单模拟操作系统中的短作业优先和优先级算法,有问题和建议欢迎留言^_^
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值