码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法之选择排序

时间:2015-10-12 18:47:28      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

选择排序介绍

它的基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

选择排序代码

/*

 *选择排序

 *参数说明

 *    a ---- 带排序数组

 *    n ---- 数组长度

 */

void select_sort(int a[], int n)

{

     int i;//有序区的末尾位置

     int j;//无序区的末尾位置

     int min;//无序区最小值元素位置

     for(i=0;i<n;i++)

    {  

         min=i;

         //找出a[i-1]....a[n-1]之间最小的元素,并赋值给min.

         for(j=i+1;j<n;j++)

        {

            if(a[j]<a[min])

            {

               min=j;

            }//end of if

        }// end of for2

        //若min!=i,则交换a[i]和a[min]

        if(min!=i)

        {

           swap(a[i],a[min]);

         }// end of if

    }

}

 

时间复杂度为O(n2)

 

排序算法之选择排序

标签:

原文地址:http://www.cnblogs.com/smileDai/p/4872281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!