概述
原理
选择排序实现思路有点类似插入排序,也分排序区间和为排序区间。选择排序每次会从未排序区间中找到最小(最大)的元素,将其放到已排序的末尾
步骤
- 首先在未排序的序列中找到最小(最大)元素,存放到排序序列的起始位置(也是末尾,因为是第一次)
- 再从剩余未排序元素中继续寻找最小(最大)元素,然后放到已排序序列末尾
- 重复第二步,直到所有元素都排序完毕
实现
const 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 数据结构与算法十大经典排序算法-选择排序(四)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复