用快速排序法去排序数组a[i][j]中[j] 的元素以 第一个[i]为标识;数组长度存储到字符串中!

解决方案 »

  1.   

    你就用排序呗!~
    有很多种排序方法,你可以任意选择。
    或者你用JList,这个类里好象有那种可以直接取出最大值的方法。
      

  2.   

    java的数组必须以 arr[0]开始吗?
    用arr[1222]开始行吗?
      

  3.   

    我遇到了与你一样的问题。我先写了个例子,实现了基本要求。下面我按第二列的数字进行排序的。
    以下代码可直接运行。
    public static void main(String[] args)
    {
    String list[][] = {
      {"user1","456"},
      {"user2","63.63"},
      {"user3","63.68"},
      {"user4","999"}
    }; String temp[][]=new String[1][1];
    int m=list.length;
        for (int i = 1; i < m; i++) {  //i从1开始
          for (int j = 0; j < m - i; j++) {
            if (Double.parseDouble(list[j][1]) < Double.parseDouble(list[j + 1][1])) {
              temp[0] = list[j + 1];
              list[j + 1] = list[j];
              list[j] = temp[0];
            }
          }
        } for(int i=0;i<list.length;i++)
    {
    System.out.print(list[i][0]+" ");
    System.out.println(list[i][1]);
    }
    }
      

  4.   

    我改成方法了,应该没有问题了。 //以二维数组第二列的数字(若不是则转换为数字)从大到小排序
    public static void sortArray2(String[][] list)
    {
    String temp[][]=new String[1][1];
    int m=list.length;
        for (int i = 1; i < m; i++) {  //i从1开始
          for (int j = 0; j < m - i; j++) {
            if (Double.parseDouble(list[j][1]) < Double.parseDouble(list[j + 1][1])) {
              temp[0] = list[j + 1];
              list[j + 1] = list[j];
              list[j] = temp[0];
            }
          }
        }
    }//以下为主调用测试代码
    public static void main(String[] args)
    {
    String list[][] = {
      {"user1","456"},
      {"user2","63.63"},
      {"user3","63.68"},
      {"user4","999"}
    };
    sortArray2(list);

    for(int i=0;i<list.length;i++)
    {
    System.out.print(list[i][0]+" ");
    System.out.println(list[i][1]);
    }
    }
      

  5.   

    to  lovecure(笑一笑,生活便美好!) :
      真的谢谢你! :)
      再请教你:如果不用数组,该怎么实现呢?如hashtable...