排序算法之简单选择排序

来源:互联网 发布:linux 禁止ip连接 编辑:程序博客网 时间:2024/06/05 15:50

简单选择排序就是每次选择一个比较小或者比较大的数放在最前面,每次只能选择一个数。

void Select_Sort(datatype R[],int n)
{   //对排序表R[1].....R[n]进行冒泡排法,n是记录个数
    for(i=1; i<n; i++)  /*做n-1趟选取*/
    {
        k=i;    /*在i开始的n-i+1个记录中选关键码最小的记录*/
        for(j=i+1;j<=n;j++)
            if(R[j].key<R[k].key)
                k=j;    /*k中存放关键码最小记录的下标*/
        if(i!=k)    /*关键码最小的记录与第i个记录交换*/
        {
            int temp;
            temp=R[k];
            R[k]=R[i];
            R[i]=temp;
        }
    }
当然,可以改进为每次排多个数。