有一组数字,99,44,55,77,88,11,00,66,输出最大的值和最小的值,再在剩余的数字中输出最大的和最小的,依次类推。

解决方案 »

  1.   

    取一个平均数(实际上这个参数应该有更好的方法选取)大于等于这个数的放一堆
    小于等于这个数的放一堆大堆中最大的
    小堆中最小的...依次...如果平衡参数选的好...两边的大小差不多..就可以不用再来第二次了
    如果数比较少的话..用任意方法排序头尾头尾的输出不就得了...
    i=0;
    j=maxp;
    i++;
    j--;
      

  2.   

    就是按大小排序,你可以放到一个数组中,假设叫array,如果数据是从大到小的顺序排列的,那你就可以输出array[n-1],array[0],array[n-2],array[1] . . . ,不就可以了吗?