选择排序(升序),外层循环从第一个数开始,选择与后面的每个数相比,若小,则交换位置。
外层第一次循环选出最小的数。。然后依次循环,直到排序完成。
//第一种写法,(个人感觉这种写法更好)
static int[] selectSort(int[] p){
int i, j, temp, index;
for(i=0; i<p.length-1; i++){
index = i;
for(j=i+1; j<p.length; j++){
if(p[index] > p[j])
index = j;
}
if(index != i){
temp = p[i];
p[i] = p[index];
p[index] = temp;
}
}
return p;
}
//第二种写法(这种写法更好理解)
static int[] selectSort(int[] p){
int i, j, temp;
for(i=0; i<p.length-1; i++){
for(j= i+1; j<p.length; j++){
if(p[i] > p[j]){
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
return p;
}