有一个二维表格,表格中的每一列分别有一个列名,表格中的数据为数字类型,要求编写一个程序,能够按照用户制定的列顺序以及每个列的升降序进行排序。
例如
Id age score1 score2 score3
1  20   45     56     67
3  33   12     98     100
....
7  77   33     12      91用户可以制定按照Age(升序),score2(降序)的顺序对数据进行排序。请教用java代码怎么写~~谢谢

解决方案 »

  1.   

    have a trysort(String[][] src, int col) {
        if (src == null || src.length == 0) return;
        if (col<0 || col>=src[0].length) return;    int len = src[0].length;
        String [] tmp = new String[src[0].length];
        for (int i=0; i<src.length-1; i++) {
            for (int j=0; j<src.length-i-1; j++) {
                if (src[j][col].compareTo(src[j+1][col]) > 0) { //这里是字符串比较,如果是数字比较,请把字符串改成数字在比较,即if (Integer,parseInt(src[j][col]).intValue() > Integer,parseInt(src[j+1][col]).intValue()) {
                    System.copyarray(tmp, src[j], len);
                    System.copyarray(src[j], src[j+1], len);
                    System.copyarray(src[j+1], tmp, len);
                }
            }
        }
    }src是你要排序的二维数组,col是你要排序的列的索引,第一列是0,第二列是1,依次类推,按LZ的要求,Id列是0,Age列是1,依此类推