选择排序

90 阅读1分钟

概念

选择排序(Selection sort)是一种不稳定的排序方法,每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

例子

初始关键字 [49 38 65 97 76 13 27 49]

第一趟排序后 13 [38 65 97 76 49 27 49]

第二趟排序后 13 27 [65 97 76 49 38 49]

第三趟排序后 13 27 38 [97 76 49 65 49]

第四趟排序后 13 27 38 49 [76 97 65 49 ]

第五趟排序后 13 27 38 49 49 [97 65 76]

第六趟排序后 13 27 38 49 49 65 [97 76]

第七趟排序后 13 27 38 49 49 65 76 [97]

最后排序结果 13 27 38 49 49 65 76 97

代码

for(int i=0;i<v.size();i++)
{
    int min=v[i];
    int temp;
    int index=i;
    for(int j=i+1;j<v.size();j++)
    {
        if(v[j]<m)
        {
            min=v[j];
            index=j;    
        }
    }
    temp=v[i];
    v[i]=min;
    v[index]=temp;
}