你的位置:首页 > Java教程

[Java教程]对一个二维数组进行升序排列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 自动生成的方法存根  }