数据结构之选择排序
简单排序 在数组a[i~(n-1)]选择最小或者最大的元素,先用k来标识a下标最小的元素,在与数组中别的远元素进行比较,重新使k标识最小或者最大的下标,进行n-1次比较
int k=i,j;
for(j=i+1;j<n;j++)
if(a[k]>a[j])
k=j;
选择排序就是在简单排序的基础上 进行n-1趟
void Slectsort (a[],int n)
{
int i,j,k;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
swap(a[i],a[k])
}
}
因为有两重循环 则时间复杂度T(O)=O(n²)