思路:開始假定第一個元素是最小元素,然後從剩下的元素中選一個最小(或者最大)的,與第一個元素交換位置。接着從第二個元素開始是最小元素,從剩下的元素中選一個最小(或者最大)的,與第二個元素交換位置。以此類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後一個數)比較爲止。
public static void sort(int[] a){
for(int i =0;i<a.length-1;i++){
//mark
int min = a[i];
int min_index = i;
for(int j = i+1;j<a.length;j++){
if(min > a[j]){
min = a[j];
min_index = j;
}
}
//if a[i] is not the min,change the a[i] and min
if( min != a[i]){
int tmp = a[i];
a[i] = a[min_index];
a[min_index] = tmp;
}
}
}