排序算法之——选择排序

选择排序思想:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

//选择排序
void select_sort(int* a, int n)
{
    int min;
    int i, j;
    for (i = 0; i < n; i++)
    {
        min = i;
        for (j = i + 1; j < n; j++)
        {
            if (a[j] < a[min])
                min = j;
        }
        if (min != i)
        {
            swap(a, i, min);
        }
    }
}

int main()
{
    int arr[] = { 4, 6, 5, 8, 9, 3, 2, 1, 7 };
    int size = sizeof(arr) / sizeof(int);
    select_sort(arr, size);
    for (int i = 0; i < size; i++)
    {
        cout << arr[i] << " ";
    }
    cout << endl;
    return 0;
}

 

posted @ 2019-08-08 17:53  Single_Dont  阅读(143)  评论(0编辑  收藏  举报