我在Java中有一个二维数组,如下所示:
每个元素/作业都有一个:
- 在index[0]中的作业号;
- index[1]中的作业到达时间;和
- 索引中的作业突发时间[2]
jobs[0][0] = 1
jobs[0][1] = 0
jobs[0][2] = 5
jobs[1][0] = 2
jobs[1][1] = 2
jobs[1][2] = 19
jobs[2][0] = 3
jobs[2][1] = 4
jobs[2][2] = 10
首先,我想根据到达时间对它们进行排序,这是根据index[1]幸运的,我使用以下代码做到了:
Arrays.sort(jobs, new Comparator<int[]>(){
public int compare(int[] a, int[] b) {
return a[1] - b[1];
}
});
现在,我的问题是我想根据索引 [2] 的突发时间对其进行排序。这是 TWIST ......我怎样才能根据突发时间(索引 [2])跳过第一个元素对其进行排序?我希望 job[0] 保留在数组顶部并按索引 [2] 对剩余元素进行排序 - 突发时间。像这样:
jobs[0][0] = 1
jobs[0][1] = 0
jobs[0][2] = 5
jobs[1][0] = 3
jobs[1][1] = 4
jobs[1][2] = 10
jobs[2][0] = 2
jobs[2][1] = 2
jobs[2][2] = 19
作业按突发时间排序,作业 1 位于顶部。通过我上面提供的代码来实现它会好得多。谢谢