选择排序算法

选择排序算法

基本介绍

选择排序属于内部排序,是从要排序的序列中,按照指定的规则选出一个元素,再依照规定交换位置后达到排序的目的;


基本思想

1>.选择排序也是一种简单的排序方法.它的基本思想是:

第一次从arr[1]~arr[n-1]序列中选取最小值与arr[0]交换,
第二次从arr[2]~arr[n-1]中选取最小值,与arr[1]交换,
第三次从 arr[3]~arr[n-1]中选取最小值,与 arr[2]交换,…

第n-1 次从 arr[n-1]~arr[n-1]中选取最小值,与arr[n-2]交换,
总共通过 n-1 次,得到一个按排序码从小到大排列的有序序列;


每一趟获取值最小的元素的思路:
  1. 将每一趟的起始元素(假设起始元素是最小的)与本趟的其他元素进行比较,如果后面的其他元素值有比这个起始元素值还小的,那么后面的那个元素就是最小的,然后从刚刚找到的这个(值最小)元素开始,继续和后面剩余的元素进行比较...最终得到本趟排序中值最小的一个元素,将他和本趟排序的起始元素交换位置,那么下一趟排序这个(值最小)的元素就不参加了
  2. 第一趟从第一个元素开始遍历得到一个最小的值,往第一个位置放;
  3. 第二趟从第二元素开始遍历得到一个第二小的值,然后往第二个位置放;
  4. 第n-1趟从第n-1个元素开始遍历,得到一个第(n-1)小值,放在第n-1个位置;
  5. 第n个元素只剩下一个元素了,他就是最大了,不用管了,所以遍历次数为n-1

整个流程如下图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值