思路:开始假定第一个元素是最小元素,然后从剩下的元素中选一个最小(或者最大)的,与第一个元素交换位置。接着从第二个元素开始是最小元素,从剩下的元素中选一个最小(或者最大)的,与第二个元素交换位置。以此类推,直到第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;
}
}
}