摘要:选择排序选择排序算法是一种原地址比较排序算法。选择排序大致的思路是找数据结构中的最小值并将其放置在第一位。找到第二小的的值放置的第二类,以此类推每一次内循环遍历寻找最小数,记录下,并在这次内循环后交换和的位置
// 选择排序
// 选择排序算法是一种原地址比较排序算法。
// 选择排序大致的思路是找数据结构中的最小值并将其放置在第一位。找到第二小的的值放置的第二类,以此类推
// 每一次内循环遍历寻找最小数,记录下minIndex,并在这次内循环后交换minIndex和i的位置
function swap(arr, indexA, indexB) {
return [arr[indexA], arr[indexB]] = [arr[indexB], arr[indexA]];
}
function selectionSort(arr) {
let len = arr.length; for (let i = 0; i < len; i++) { let minIndex = i; for (let j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } if (i != minIndex ) { swap(arr, i, minIndex); } } return arr;
}
const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
console.log(selectionSort(arr));
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101322.html
摘要:介绍排序算法是算法中最常见的算法之一,我这里要介绍的是排序算法中的三种基本算法冒泡排序选择排序插入排序,在文章的后面我会对三种算法的速度进行对比。 1.介绍 排序算法是算法中最常见的算法之一,我这里要介绍的是排序算法中的三种基本算法:冒泡排序、选择排序、插入排序,在文章的后面我会对三种算法的速度进行对比。 2.冒泡排序 冒泡排序其名来源与其算法实现,会使得数组中的元素一个个从数组一端漂...
摘要:本文对一些排序算法进行了简单分析,并给出了的代码实现。平均时间复杂度不好分析,它是冒泡排序是稳定的排序算法。冒泡排序是原地排序算法原地排序指的是空间复杂度是的排序算法。归并排序,会将数组从中间分成左右两部分。 本文对一些排序算法进行了简单分析,并给出了 javascript 的代码实现。因为本文包含了大量的排序算法,所以分析不会非常详细,适合有对排序算法有一定了解的同学。本文内容其实不...
阅读 2062·2021-11-18 10:07
阅读 3473·2021-09-04 16:48
阅读 3187·2019-08-30 15:53
阅读 1209·2019-08-30 12:55
阅读 2413·2019-08-29 15:08
阅读 3087·2019-08-29 15:04
阅读 2846·2019-08-29 14:21
阅读 2883·2019-08-29 11:21