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

直接选择排序

时间:2014-10-17 22:04:58      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   for   strong   sp   数据   div   2014   

 

 直接选择排序

 A.第1趟从中找到最小的,与R0交换

 B.第2趟从剩余中找到最小的,与R1交换

........................................................


 代码如下

 

//直接选择排序
        void Selectsort(int []a,int n)
        {
            //定义变量
            int i, j, nMinIndex;
            for(i=0;i<n;i++)
            {
                //最小值标志位
                nMinIndex = i;
                //循环找出最小值
                for(j=i+1;j<n;j++)
                {
                    //进行比较
                    if (a[j] < a[nMinIndex])
                    {
                        //如果小于的话,标志位改变
                       nMinIndex = j;
                       
                    }

                  
                    
                }
               //经过上述循环后找出最小值
                if(nMinIndex!=i)
                {
                    //数值进行交换
                    int c = a[i];
                    a[i] = a[nMinIndex];
                    a[nMinIndex] = c;
                }
               
            }
        }

 冒泡与直接选择排序比较

 其实直接选择排序很像冒泡排序法,但是它比冒泡好的地方是不用每次不停的进行冒泡,也就是数据比较交换,但是冒泡比它好的地方在于,如果已经排好序的话,就可以直接停止


 



直接选择排序

标签:style   blog   ar   for   strong   sp   数据   div   2014   

原文地址:http://blog.csdn.net/luckyzhoustar/article/details/40190875

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