选择排序(selectsort)的执行情况,把最左边的元素作为最小值,然后在和其他元素做比较,如果小于最小值 ,就记录其下标,比较完后在和最左边的元素交换。
比较次数为N*(N-1)/2 移动次数变为N 代码如下:
class SelectSort{
public void sort(int[] array) {
for(int i=0;i<array.length;i++){
int min=i;
for(int j=i+1;j<array.length;j++){
if(array[j]<array[min]){
min=j;
}
}
if(min>i){
int temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
}