原理
选择排序实现思路有点类似插入排序,也分排序区间和为排序区间。选择排序每次会从未排序区间中找到最小(最大)的元素,将其放到已排序的末尾
步骤
- 首先在未排序的序列中找到最小(最大)元素,存放到排序序列的起始位置(也是末尾,因为是第一次)
- 再从剩余未排序元素中继续寻找最小(最大)元素,然后放到已排序序列末尾
- 重复第二步,直到所有元素都排序完毕
实现
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18const selectSort = arr => { const len = arr.length let minIndex, temp for (let i = 0; i < len - 1; i++) { let minIndex = i for (let j = i; j < len; j++) { if (arr[j] < arr[minIndex]) { // 寻找最小的数 minIndex = j // 将最小数的索引保存 } } temp = arr[i] arr[i] = arr[minIndex] arr[minIndex] = temp } return arr }
当选择每次把未排序元素中最小的放到已排序末尾,最后排序顺序为从小到大。
当选择每次把未排序元素中最大的放到已排序末尾,最后排序顺序为从大到小。
最后
以上就是含糊故事最近收集整理的关于JavaScript 数据结构与算法十大经典排序算法-选择排序(四)的全部内容,更多相关JavaScript内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复