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

简单选择排序为选择排序的一种。简单选择排序的原理是,每次选择最小的数放在最前面{第一次得到第一个最小数(遍历了一次),第二次得到第二个最小数(从第二个数开始遍历,依次类推}

template
int SelectMinKey(SqList &L,int n)
{
    int min=n;
    T minkey;
    minkey=L.key[n];    //当前n为最小
    for(int i=n+1;i    {
        if(L.key[i]        {
            minkey=L.key[i];
            min=i;
        }
    }
    return min;
}
template
void SelectSort(SqList &L)
{
    int j;
    T t;
    for(int i=0;i    {
        j=SelectMinKey(L,i);  //每次寻找最小
        if(i!=j)   //如果最小值的下标,不是当前i,则将其和他交换
        {
            t=L.key[i];
            L.key[i]=L.key[j];
            L.key[j]=t;
        }
    }
}

你可能感兴趣的:(C/C++,算法相关)