zoukankan      html  css  js  c++  java
  • 选择排序

    原理:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,每趟待排序的元素数量减一,直到全部待排序的数据元素排完。例如数量为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;
                }
            }    
    一直想把之前工作、学习时记录的文档整理到博客上,一方面温故而知新,一方面和大家一起学习 -程序小白
  • 相关阅读:
    Ubuntu 14.04设置开机启动脚本的方法
    python 筛选
    分段压缩
    ubuntu 16.04 启用root用户方法
    Ubuntu 16.04 设置MySQL远程访问权限
    [分享]在ubuntu9.10下实现开机自动登录并运行自己的图形程序
    ubuntu live cd修复grub引导项
    安装dcm4chee-arc-light-5.4.1-mysql步骤
    数据库学习--wildfly配置postgreSQL数据源
    wildfly配置PostgreSQL数据源
  • 原文地址:https://www.cnblogs.com/wang-jin-fu/p/8321171.html
Copyright © 2011-2022 走看看