題目描述
編寫一個函數,將輸入的一串數字進行排序,將最小的放在第一位,其次小的放在最後,第三小的放在第二位,第四小的放在倒數第二位置,以此類推。
輸入
輸入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;
}