首页 > 代码库 > 对一个二维数组进行升序排列a[0][1]为最小

对一个二维数组进行升序排列a[0][1]为最小

    public static int[][] dyadicArraySort(int a[][]){
        int temp=0;int sum =0;int nn=0;
        for(int i=0;i<a.length;i++){
            sum=sum+a[i].length;
        }
        int n[]=new int[sum];
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a[i].length;j++){
                n[nn]=a[i][j];nn=nn+1;//被赋值的应该放在前面
                }
}    for(int i=1;i<=sum-1;i++){
    for(int j=0;j<=sum-1-i;j++){
        if(n[j]>n[j+1]){
            temp=n[j+1];
            n[j+1]=n[j];
            n[j]=temp;
            
        }
    }
}int h=0;for(int i=0;i<a.length;i++){
    for(int j=0;j<a[i].length;j++){  //不能再for循环里添加int h=0;否则每次循环都会重新定义h=0;
    a[i][j]=n[h];h++;
}
}
    return a;
            }
        
    

    public static void main(String[] args) {
        int a[][]={{5,1,9,3,4,7,7},{8,4,9,6,2},{52}};
        
        
        for(int i=0;i<a.length;i++){
            System.out.print("{ ");
            for(int j=0;j<a[i].length;j++){
                System.out.print(dyadicArraySort(a)[i][j]+" ");
            }System.out.print("}");System.out.println();
        }
        // TODO 自动生成的方法存根

    }

 

对一个二维数组进行升序排列a[0][1]为最小