对一个二维数组进行升序排列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 自动生成的方法存根 }
上一篇:Linux命令应用大词典-第37章 Linux系统故障排错


下一篇:Java中类的线程安全问题