大神们帮忙提供点java中二维数组的排序方法,主要是针对参差不齐额二维数组,
比如int[][] a={{1,3,4,5,3,6.7},{3,4,6,5},{9,3.,5,6,7,8,4},{1,3}{2,3,4,,56,3555,4}}
针对这种参差不齐的数组不知道怎么排序。
我之前对常规的对齐的数组是把各行单独作为一个一维数组,各列单独作为一个一维数组去排列的。
但是当数组参差不齐的时候我无法控制列的边界,老出现越界。大神们帮忙提供点思路
------解决方案--------------------
数组转list?
------解决方案--------------------
楼主:我之前没有针对这样的数组排过序,从题我不知道你想要什么样的结果,能把你想要的结果贴出来么?
------解决方案--------------------
1、可以将二维数组转为list,然后排序
2、也可以直接进行排序,只是循环里面的条件改一下。
int[][] a={{1,3,4,5,3,6,7},{3,4,6,5},{9,3,5,6,7,8,4},{1,3},{2,3,4,56,3555,4}};
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a[i].length;j++)
{
//你的排序算法
}
}
------解决方案--------------------
楼上正解!用length这个属性解决
------解决方案--------------------
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] a={{1,3,4,5,3,6,7},{3,4,6,5},{9,3,5,6,7,8,4},{1,3},{2,3,4,56,3555,4}};
for(int i=0;i<a.length;i++){
Arrays.sort(a[i]);
}
//只是输出了二维数组中第一个数组的值,结果为1,3,3,4,5,6,7
for(int i=0;i<a[0].length;i++)
System.out.print(a[0][i]+"\t");
}
}
------解决方案--------------------
先把二维数组合成为一维数组之后排序完之后再根据顺序把它分给二维数组
------解决方案--------------------
直接循环 Arrays.sort(a[i])
------解决方案--------------------
先封装一个排序方法,遍历二维数组,每个元素调用此方法排序后得到一个新数组并赋值给当前元素。