现有一组数据:1.11     1.1        5.2.1.3        5.2.2      2.3.6     3.3.6    2.3       3.4
 求倒叙排序!  有没有简单高效的代码  。

解决方案 »

  1.   

    你这个数据是字符串还是double的字母
      

  2.   

    你这个数据是字符串还是double的数字
      

  3.   

    这是数字吗,格式不对呀,数字可以这样
    public static void main(String[] args) {
    double arr[] = {1.11, 1.1, 5.213, 5.22, 2.36, 3.36, 2.3, 3.4};
    Arrays.sort(arr);
    for (int i = arr.length-1; i >=0; i--) {
    System.out.print(arr[i]+" ");
    }
    }5.22 5.213 3.4 3.36 2.36 2.3 1.11 1.1 
      

  4.   

    Collections.reverse(list); // 倒序排列 
      

  5.   


    reverse只是把原来的顺序逆反,并不能排序;
      

  6.   

    用集合,先sort,再reverse
      

  7.   

    可以自己根据排序算法写个,不然就是利用已有API
      

  8.   


    double arr[] = {1.11, 1.1, 5.213, 5.22, 2.36, 3.36, 2.3, 3.4};
    Arrays.sort(arr);
    for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
        double temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
      

  9.   

    import java.util.*;public class Sort{ public static void main(String[] args){
    String [] a = {"1.11","1.1","5.2.1.3","5.2.2","2.3.6","3.3.6","2.3","3.4"};
    quicksort(a,0,7);
    System.out.println(Arrays.toString(a));

    }
    static void quicksort(String[] a, int low, int high){
    if (low>=high){
    return;
    }
    int i = low -1;
    int j = low;
    while(j<high){
    if(a[j].compareTo(a[high])>0){
    String t = a[j];
    a[j] = a[i+1];
    a[i+1] = t;
    ++i;
    }
    ++j;
    }
    String t = a[high];
    a[high] = a[i+1];
    a[i+1] = t;
    ++i;
    quicksort(a, low, i-1);
    quicksort(a,i+1,high);
    }
    }输出结果是[5.2.2, 5.2.1.3, 3.4, 3.3.6, 2.3.6, 2.3, 1.11, 1.1]
      

  10.   

    我的版本,不是Double,