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

选择排序

时间:2018-01-20 17:49:30      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:color   pos   log   gpo   nbsp   原理   数列   数据   c#   

原理:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,每趟待排序的元素数量减一,直到全部待排序的数据元素排完。例如数量为n的数组,每次遍历i到n,选出最大(最小)的元素放在i位置,i+1,直到i等于n-1。


时间复杂度:n!,n的阶乘


实现步骤:第1趟从n个记录选择关键码最小(或最大)的记录并与第1个记录交换位置;第2趟从第2个记录开始的n-1个记录中选择关键码最小(或最大)的记录并与第2个记录交换位置。一般地,第i趟从第i个记录开始的n-i-1个记录中选择关键码最小(或最大)的记录并与第i个记录交换位置,所以,第n-1趟比较最后两个记录选择关键码最小(或最大)的记录并与第n-1个记录交换位置。


c#脚本实现

        public void Sort(int [] list)
        {
            for(int i=0; i<list.Length-1; i++)
            {
                 min=i;
                 for(int j=i+1; j<list.Length; j++)
                 {
                     if(list[j]<list[min])
                     min=j;
                 }
                 int t=list[min];
                 list[min]=list[i];
                 list[i]=t;
            }
        }    

 

选择排序

标签:color   pos   log   gpo   nbsp   原理   数列   数据   c#   

原文地址:https://www.cnblogs.com/wang-jin-fu/p/8321171.html

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