展开全部
你这写的我表示不能理解:我帮你简化了你看看吧,我提供了两种方法,如果一开始你太纠结62616964757a686964616fe58685e5aeb931333363383965
我建议你直接使用api比较靠谱,后面学的好了,在回头专门看这个会很轻松!方法1就是系统的API,有点就是代码非常少!
方法2,就是选择排序,你的要求,不足之处还请指点!import java.util.Arrays;
public class 二维数组排序 {
public static void main(String[] args) {
init();
}
//初始化数组!
private static void init()
{
int[][] arr={{10,15,12,13,14,1},{9,8,5,2,7,6},{5,4,3,8,9,10},{25,36,78,69,12,14,25,36}};
print(arr,"原数组:");
//方法1:api排序!
sortTest(arr);
print(arr,"利用API排序");
//方法2:自定义排序!选择排序!
custom(arr);
print(arr,"自定义选择排序");
}
//方法一:利用API排序(代码简单)
private static void sortTest(int[][] arr)
{
for (int i = 0; i
Arrays.sort(arr[i]);
}
}
//方法二:自定义选择排序(可以随意更改排序顺序!)
private static void custom(int[][] arr)
{
for (int i = 0; i
for (int x = 0; x
for (int y = x+1; y
if (arr[i][x]
swap(arr[i],x,y);
}
}
}
}
}
//交换!
private static void swap(int[] arr,int x,int y)
{
arr[x]=arr[x]^arr[y];
arr[y]=arr[x]^arr[y];
arr[x]=arr[x]^arr[y];
}
//打印测试!
private static void print(int[][] arr,String s)
{
System.out.println(s);
for (int i = 0; i
for (int j = 0; j
System.out.print(arr[i][j]+",");
}
System.out.println();
}
}
}