1.算法思想:
第i趟在n-i+1(i=1,2,…n-1)个记录中选取关键码最小的记录作为有序序列中的第i个记录。
2.算法描述
设置一个整型变量index,用于记录一趟比较的过程中,关键码最小的记录位置。
第i趟简单选择排序的待排序区间是r[i]~r[n],则r[i]是无序区的第一个记录,所以,将index所记载的关键码和r[i],
3.代码实现
void selectSort(int r[],int n)
{
for(i=1;i<n;i++)
{
index=i;
for(j=i+1;j<=n;j++)
if(r[j]<r[index])
index=j;
if(index!=i)
swap(r[i],r[index]);
}
}
4.时间性能分析
时间复杂度O(n²)