选择排序
基本思想:每一趟在后面n-i+1个记录中选取关键字最小的记录作为有序序列中第i个记录。
通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换之。
步骤:
可以看出选择排序是一个不稳定算法。
算法代码:
//选择排序(稳定算法)
void SelectSort(int *array, int length)
{
int i, j, k;
int temp;
for (i = 0; i < length - 1; ++i)
{
k = i;
//逐一与后面的数进行比较,如果比它小就保存其下标
for (j = i + 1; j < length; ++j)
{
if (array[j] < array[k])
{
k = j;
}
}
//交换
if (k != i)
{
temp = array[i];
array[i