1. 程式人生 > >藍橋杯大賽基礎之--數列排序

藍橋杯大賽基礎之--數列排序

題目:數列排序

問題描述
  給定一個長度為n的數列,將這個數列按從小到大的順序排列。1<=n<=200
輸入格式
  第一行為一個整數n。
  第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000。
輸出格式
  輸出一行,按從小到大的順序輸出排序後的數列。
樣例輸入
5
8 3 6 4 9
樣例輸出
3 4 6 8 9

這道題主要是考輸入格式,對控制檯資料的讀取,記得import java.util.Scanner;

public class daJiMu {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);  //建立scanner物件,控制檯會一直等待輸入,直到敲下回車鍵,把所輸入
//的內容傳給scanner作為掃描物件
int i = sc.nextInt();  //sc.nextInt()獲取輸入的內容
int arr[] = new int[i];
/*以下其實是插入演算法*/
for(int k = 0 ;k < i;k++) {
arr[k] = sc.nextInt();
for(int j = k;j > 0;j--) {
if(arr[j] < arr[j-1]) {
int temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
else break;
}
}
sc.close();
for(int d: arr) {
System.out.print(d+" ");
}

}  

}