选择排序

选择排序就是经过多次查找找到还未排序 部分的最小值,并与未排序部分的第一个数比较,如果第一个数较大,交换他们的值,否则不交换。直到序列有序;

图解:

动图演示:

 

 由这个动图可以直观的看出来每一趟做了什么,是这样排序的。

c++代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void s_sort(int A[],int N)
{
    for(int i=0;i<N-1;i++)
    {
        int min=i;
        for(int j=i+1;j<N;j++)
        {
            if(A[j]<A[min])
               min=j;
        }
        swap(A[i],A[min]);
    }
}
int main()
{
    int A[]={1,3,2,4,3,11651,56116,15141616,3};
    s_sort(A,9);
    for(int i=0;i<9;i++)
    {
        cout<<A[i]<<" ";
    }
    return 0;
}

 

posted @ 2019-08-20 08:26  香格里拉太子zo  阅读(104)  评论(0编辑  收藏  举报