首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

java二维数组如何排序

2012-05-02 
java二维数组怎么排序除了myeclipse自带的排序还有什么方法可以实现对下面二维数组的排序题目:已知整型 二

java二维数组怎么排序
除了myeclipse自带的排序还有什么 方法 可以实现对下面二维数组的排序
题目:已知  



整型 二维数组 
int[][]=new int[][]{{12,3,14,11},{1,2,6,4},{5,15,7,8},{5,9,10,13}};


怎么实现 达到 运行如下结果



  {1,2,3,4}
  {5,6,7,8}
  {9,10,11,12}
  {13,14,15,16}





请高手指教!!…………



[解决办法]
[code=Java][/code]
package com.liangpeng.csdn;

public class TestArray {

public static void main(String[] args) {

int[][] a=new int[][]{{12,3,14,11},{1,2,6,4},{5,15,7,8},{16,9,10,13}};
int[] b = new int[16];
for(int i=0; i<4; i++) { //把二维数组变为以为数组
for(int j=0; j<4; j++) {
b[4*i+j] = a[i][j];
}
}

for(int i=0; i<b.length; i++) { //对一维数组进行排列
int index = 0;
for(int j=1+i; j<b.length; j++) {
if(b[i] >b[j]) {
int num = 0;
num = b[i];
b[i] = b[j];
b[j] = num;
}
}
}

for(int i=0; i<4; i++) { //再将一维数组变为二维数组
for(int j=0; j<4; j++) {
a[i][j] = b[4*i + j];
}
}

for(int i=0; i<4; i++) { //对二维数组进行输出
int count = 0;
for(int j=0; j<4; j++) {
count++;
System.out.print(a[i][j] + ",");
if(count == 4) {
System.out.println();
}
}
}

}

}

[解决办法]

Java code
import java.util.ArrayList;import java.util.Collections;import java.util.List;class Sort{    public static void main(String[] args)    {        int arr[][]=new int[][]{{12,3,14,11},{1,2,6,4},{5,15,7,8},{5,9,10,13}};        int a=0;        List list=new ArrayList();        for(int i=0;i<arr.length;i++){            for(int j=0;j<arr[i].length;j++){                list.add(arr[i][j]);            }        }                Collections.sort(list);        for(int i=0;i<arr.length;i++){            for(int j=0;j<arr[i].length;j++){                arr[i][j]=Integer.parseInt(list.get(a).toString());                a++;            }        }                for(int i=0;i<arr.length;i++){            for(int j=0;j<arr[i].length;j++)                System.out.print(arr[i][j]+"\t");            System.out.println("\n");        }    }} 

热点排行