选择排序

Posted 柯腾_wjf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择排序相关的知识,希望对你有一定的参考价值。

原理:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,每趟待排序的元素数量减一,直到全部待排序的数据元素排完。例如数量为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;
            }
        }    

 

以上是关于选择排序的主要内容,如果未能解决你的问题,请参考以下文章

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器

在第6731次释放指针后双重免费或损坏

微信小程序代码片段

pycharm添加Odoo代码片段