最简单 比如说 a[]={3,2,1,5,4}
增序排序后 要让 b[]为{5,4,3,2,1}

解决方案 »

  1.   

    b = a.copy
    b内排序。最大的放在最前面
      

  2.   

    java.util.Arrays.sort(T[] a, Comparator<? super T> c)
      

  3.   

    public int[] sort()
    {
    int[] a={3,2,1,5,4};
    Arrays.sort(a);
    int[] b = new int[a.length];
    for (int i=0; i<a.length/2+1; i++)
    {
       b[a.length-i-1]=a[i];
       b[i]=a[a.length-i-1];
    }
    for (int i=0; i<b.length; i++)
       System.out.print(b[i]);
       System.out.println();
    return b;
    }
      

  4.   

    LZ可以看看数据结构与算法的书.排序是通用算法.
    java.util.sort()可以排序,然后倒置过来就行.
      

  5.   

    for (int i=0; i<a.length/2+1; i++) 
    为什么a.length要/2+1?
      

  6.   

    to upstair:
    用a.length/2+1可以对b数组前后2端赋值,这样快点
    当然也可以用,这只是从后往前单方向赋值
    for (int i=0; i<a.length; i++)
     b[a.length-i-1]=a[i]
      

  7.   

    public int[] sort()
    {
    int[] a={3,2,1,5,4};
    Arrays.sort(a);//(1)得到升序排序的数组
    int[] b = new int[a.length];
    for (int i=0; i<a.length/2+1; i++)
    {
    b[a.length-i-1]=a[i];
    b[i]=a[a.length-i-1];
    }//(2)把升序的数组倒转
    for (int i=0; i<b.length; i++)
    System.out.print(b[i]);
    System.out.println();
    return b;
    }
    对于(2),你也可以用Collections.reverse(List list),但先要转成List
      

  8.   

    to upstair:
    这是啥=。= 不好意思 我是初学