以前都是将二维转换成一维数组排序,今天老师要求不转换试了一下,仔细分析了一下冒泡,写了这个大家可以试试其他的排序方法,应该都可以用
import java.util.Arrays;
class Test
{
public static void main(String[] args)
{
int[][] arr={{11,15,32,21},{2,3},{4,5,6}};
int sum=0;
for(int[] i: arr)
for(int j:i)
if(j>0x8fffffff&&j<0x7fffffff)
sum++;
for (int k = 0;k < sum; k++) {
for (int i = 0;i < arr.length; i++) {
for (int j = 0;j < arr[i].length; j++) {
if ((j+1)%arr[i].length != 0) {//不是每行最后的元素
if (arr[i][j] > arr[i][j+1]) {
int temp = arr[i][j];
arr[i][j] = arr[i][j+1];
arr[i][j+1] = temp;
}
} else {
if (i+1 != arr.length) {//不是最后一行
if (arr[i][j] > arr[i+1][(j+1)%arr[i].length]) {
int temp = arr[i][j];
arr[i][j] = arr[i+1][(j+1)%arr[i].length];
arr[i+1][(j+1)%arr[i].length] = temp;
}
}
}
}
}
}
for(int[] i: arr)
for(int j:i)
System.out.print(j+" ");
System.out.println();
}
}