题目描述
编写一个函数,将输入的一串数字进行排序,将最小的放在第一位,其次小的放在最后,第三小的放在第二位,第四小的放在倒数第二位置,以此类推。
输入
输入10个数字,中间用空格隔开
输出
输出按照要求排序的10个数字,中间用空格隔开
样例输入
0 8 21 44 3 7 51 62 0 13
样例输出
0 3 8 21 51 62 44 13 7 0
提示
无
地区
西安研究所
public static String separateSort(String input){
String[] strArr=input.split(" ");
int[] iArr=new int[strArr.length];
for(int i=0;i<strArr.length;i++){
iArr[i]=Integer.parseInt(strArr[i]);
}
Arrays.sort(iArr);
Stack<Integer> stackFont=new Stack<Integer>();
StringBuilder sbFont=new StringBuilder();
StringBuilder sbBack=new StringBuilder();
for(int i=iArr.length-1;i>=0;i--){
if(i%2==0){
stackFont.push(iArr[i]);
}else{
sbBack.append(String.valueOf(iArr[i])+" ");
}
}
sbBack.deleteCharAt(sbBack.length()-1);
while(!stackFont.isEmpty()){
sbFont.append(String.valueOf(stackFont.pop())+" ");
}
String output=sbFont.toString()+sbBack.toString();
return output;
}