我很好奇如何按不同顺序对每一行(int type)(存储在二维数组中)进行排序,例如我有numbers[][]
然后我的numbers[1][]
中的第一行将在asc order
中排序,然后下一行应按dec order
排序,依此类推。
我已经通过互相交换我的元素来尝试bubble algorithm
(我使用条件,如果我的索引%2 == 0)然后我做asc命令,我做了dec命令,它工作。 这种风格不是很优雅,需要3个循环。但有没有其他方法来实现这一目标? (现在排序速度无关紧要)
由于
答案 0 :(得分:3)
Integer[][] array = new Integer[2][3];
Arrays.sort(array[0]);
Arrays.sort(array[1], Collections.reverseOrder());
您可以使用循环遍历所有行。
修改强>
请注意Collections.reverseOrder()
,这只适用于非原始类型!如果要将它用于primitve类型数组,可以使用Collections.reverse(Arrays.asList(myArray))
反转数组,然后按升序对其进行排序,如上所示。
答案 1 :(得分:0)
您需要自己实施排序算法吗?
如果没有,你可以使用:
Arrays.sort(numbers[1]);