选择排序--简单选择排序

基本思想:第 i 趟排序在待排序序列r[i]~rn中选取关键码最小的记录,并和第 i 个记录交换作为有序序列的第 i 个记录。

//简单选择排序算法
void SelectSort(int r[], int n)            //用0号单元作为交换操作的暂存单元
{
    for (int i = 0; i < n; i++)            //对n个记录进行n-1趟简单选择排序
    {
        int index = i;
        for (int j = i + 1; j <= n; j++)//在无序区中选取最小记录
            if (r[j] < r[index])
                index = j;
        if (index != i)
        {
            int temp = r[i];
            r[i] = r[index];
            r[index] = temp;
        }
    }
}

时间复杂度为O(n^2)
简单选择排序是一种不稳定的排序方式

posted @ 2017-09-11 16:09  想不出名字2333  阅读(26)  评论(0)    收藏  举报