分頭排序

題目描述

編寫一個函數,將輸入的一串數字進行排序,將最小的放在第一位,其次小的放在最後,第三小的放在第二位,第四小的放在倒數第二位置,以此類推。

輸入

輸入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;
	}


 

 

發佈了52 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章