排序算法(1)-选择排序

原理: 

          选择排序,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,和剩下的数进行比较,再顺序放入新数组,直到全部拿完


排序过程:

排序过程

时间复杂度:

第一次内循环比较N - 1次,然后是N-2次,N-3次,……,最后一次内循环比较1次。 

共比较的次数是(N - 1) + (N - 2) + ... + 1,求等差数列和,得(N - 1 + 1)* N / 2 = N^2 / 2。

舍去最高项系数,其时间复杂度为O(N^2)。


代码实现:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,235评论 0 52
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,426评论 0 2
  • ​ 排序就是将一堆无序的数组经过比较和重新排列,让这些数据以其正确的顺序排列。这篇文章先讲三种比较简单的排序算...
    KuiSAhn阅读 378评论 0 0
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,287评论 0 2
  • 背景 在输入的时候有代码提示!有时候不小心按错提示消失!但是又没有快捷键! 解决 其实是有快捷键的!只是VSCod...
    飞奔的阿加西阅读 61,871评论 2 8