概述

选择排序是一种简单直观的排序算法.

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素, 存放在序列的起始位置,直到全部待排序的数据元素排完. 选择排序是不稳定的排序方法.

选择排序是从序列中选出最大或最小数, 将其放到最前面, 然后继续选择, 故而叫做选择排序, 个人理解.

以升序为例, 选择排序执行步骤如下:

  1. 暂定第一个元素为最小元素, 往后遍历, 逐个与最小元素比较, 找到最小元素, 若发现最小者, 与先前的"最小元素"交换位置. 达到更新最小元素的目的.
  2. 一趟遍历完成后, 能确保刚刚完成的这一趟遍历中, 最的小元素已经放置在前方了. 然后缩小排序范围, 新一趟排序从数组的第二个元素开始
  3. 在新一轮排序中重复第1、2步骤, 直到范围不能缩小为止, 排序完成
排序算法之选择排序 算法 第1张

形象

其时间空间复杂度如下:

排序算法之选择排序 算法 第2张

 

应该不难理解, 直接上代码了.

Java代码实现

排序算法之选择排序 算法 第3张

 

代码也很简单, 不做过多解释了, 各位上眼.

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄