日期:2014-05-20  浏览次数:20807 次

排序
请教大家一个问题?我实在难下手,请大家多多赐教!
编写一个能对3X4的整型二维数组排序的函数。要求最小的数放一[0][0]的位置,第二小的放在[0][1]的位置,最大的放在[2][3]的位置。

------解决方案--------------------
Java code
import java.util.Arrays;

public class SortTester
{
    public static void main(String [] arg){
        int[][] i={{37,45,2,4},
                   {39,0,21,98},
                   {65,12,43,8}};
        arraysort(i);
        for(int j=0;j<i.length;j++){
            for(int n=0;n<i[j].length;n++){
                System.out.print(i[j][n]+" ");
            }
            System.out.println();
        }
    }
    public static void arraysort(int[][] i){
        int count=0;
        for(int j=0;j<i.length;j++){
            count+=i[j].length;
        }
        int[] num=new int[count];
        int k=0;
        for(int j=0;j<i.length;j++){
            for(int n=0;n<i[j].length;n++){
                num[k++]=i[j][n];
            }
        }
        Arrays.sort(num);
        k=0;
        for(int j=0;j<i.length;j++){
            for(int n=0;n<i[j].length;n++){
                i[j][n]=num[k++];
            }
        }
    }
}