[求助]一个JAVA排序问题
有一组数,如:23,45,25,16,86,39,75,现要求按以下要求进行排序:(1)让这些数中最大的那个数,放在第一位;最小的那个数放在第二位;
(2)让剩下的数中,最大的放在第三位,最小的放在第四位;
(3)照此类推,进行排序.
请问,应该怎样进行排序.(最好附上代码).谢谢.
import java.util.Scanner;
/**
*交错排序的递归算法
*@author: Eastsun
*/
public class SortArray{
private static void swap(int[] array,int a,int b){
int tmp =array[a];
array[a] =array[b];
array[b] =tmp;
}
public static void sort(int[] array,int start,int end){
if(end-start<=1) return;
if(array[start]<array[start+1]) swap(array,start,start+1);
for(int index =start+2;index<end;index++)
if(array[start]<array[index]) swap(array,start,index);
else if(array[start+1]>array[index]) swap(array,start+1,index);
sort(array,start+2,end);
}
public static void main(String[] args){
Scanner s =new Scanner(System.in);
while(true){
System.out.print(\"输入要排序数的个数(0结束):\");
int n =s.nextInt();
if(n<=0) break;
System.out.print(\"输入\"+n+\"个要排序的数:\");
int[] array =new int[n];
for(int i =0;i<n;i++) array[i] =s.nextInt();
sort(array,0,array.length);
System.out.print(\"排序结果为:\");
for(int i=0;i<n;i++) System.out.printf(\"%7d\",array[i]);
System.out.println();
}
}
}