有一组数1 9 3 8 4 6 7 2,让最大的放在第一位,最小的放在后面,第二大一次放,第二位小的放在后面
输出是这样9 1 8 2 7 3 6 4

解决方案 »

  1.   

    这个不难吧,先排序成9 8 7 6 4 3 2 1
                然后new个新数组,来个for循环,把位置调一下就OK拉
      

  2.   


    public static void main(String[] args) throws Exception
    {
    int[] a=new int[]{1, 9, 3, 8, 4, 6, 7, 2};
    sort(a);
    } public static int[] sort(int[] a)
    {
    Arrays.sort(a);
    int[] b=new int[a.length];
    for(int i=0;i<a.length;i++)
    System.out.println(a[i]);
    for(int i=0,j=0,k=a.length-1;i<a.length;i++)
    {
    if(i%2==0)
    {
    b[i]=a[k];
    k--;
    }
    else
    {
    b[i]=a[j];
    j++;
    }
    }
    System.out.println(Arrays.toString(b));
    return b;
    }
      

  3.   


    int[] ds = {1,9,3,8,4,6,7,2};
         Arrays.sort(ds);
         for(int i = 0 ,j=ds.length-1;j>=i;i++,j--){
         System.out.print(ds[j]);
         if(j>i){
         System.out.print(ds[i]);
         }
         }
      

  4.   

    先排序,再操作
    it is ease
      

  5.   

    先Arrays.sort(a);
    得 1 2 3 4 6 7 8 9
    然后就交替打印就行啦。int i = 0; i<a.length; i++int i<a.length; i>=0; i--