排序如何在Java中按一列对二维数组进行排序
所以我想要的是这个
int[]arr=新int[2][8]
输入:
1 1 3 1 5 3 7 1
524483752
输出:
1 1 5 3 1 7 3 1
2 2 3 4 5 7 8
您可以看到它是按第二行升序排序的,第一行紧跟其后, 我该怎么做?请帮忙
我试着在下面做
数组。排序(arr[1])
但我认为它不起作用。它确实按升序对第二行进行排序,但第一行与第二行的初始对不匹配
你可以在下面搜索框中键入要查询的问题!
所以我想要的是这个
int[]arr=新int[2][8]
输入:
1 1 3 1 5 3 7 1
524483752
输出:
1 1 5 3 1 7 3 1
2 2 3 4 5 7 8
您可以看到它是按第二行升序排序的,第一行紧跟其后, 我该怎么做?请帮忙
我试着在下面做
数组。排序(arr[1])
但我认为它不起作用。它确实按升序对第二行进行排序,但第一行与第二行的初始对不匹配
# 1 楼答案
试试这个
输出:
或者
# 2 楼答案
可以使用助手方法对输入数组进行转置,然后按列对转置后的数组进行排序,然后再次转置以恢复原始行/列:
方法
sortByColumn
(重用输入数组):测试:
输出: 在第一行中,值在按每列中的第二个元素排序后按插入顺序显示
方形阵列(宽度=高度)可以更有效地进行转置,而无需创建额外的阵列: