Java二维数组冒泡排序

来源:互联网 发布:js application对象 编辑:程序博客网 时间:2024/06/05 08:53

以前都是将二维转换成一维数组排序,今天老师要求不转换试了一下,仔细分析了一下冒泡,写了这个大家可以试试其他的排序方法,应该都可以用

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();     }}


0 0
原创粉丝点击