排序算法之——选择排序

排序算法之——选择排序


   选择排序,工作原理很简单,顾名思义,就是每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

   选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)


选择排序大概过程如下:

比如数组:3,4,2,7,5,1,9,0

首先先定义一个指针:int minIndex = 0;指向第一个元素,然后遍历一下数组,如果发现有比minIndex所指元素还小的元素,就交换下标

因为3>2,所以数组变为:2,4,3;

接着由于2>1,所以数组又变为:1,4,3,7,5,2;

接着由于1>0,所以数组又变为:0,4,3,7,5,2,9,1;

这个时候旧确定了一个最小的位置0,然后不断的循环上述那个过程,只不过要从1这个位置开始,0这个位置就不用比较了。

所以其时间复杂度也是O(N^2)

具体程序实现如下:



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值