企业网站备案案例,宜昌做网站哪家最便宜,怎样看网站的浏览量,婚纱类网站素材排序
排序#xff1a;把某个乱序的数组变成升序或降序的数组 (这里用数组来做举例)
选择排序
该排序属于 贪心 策略关注的是局部#xff0c;是一种苟且的东西
算法实现
// 随机数组#xff0c;选择排序
Array.prototype.selectionSort function() {let len this.leng…排序
排序把某个乱序的数组变成升序或降序的数组 (这里用数组来做举例)
选择排序
该排序属于 贪心 策略关注的是局部是一种苟且的东西
算法实现
// 随机数组选择排序
Array.prototype.selectionSort function() {let len this.length;for(let i0; ilen-1; i) {let minIndex i; // 注意这里更新for(let ji;jlen;j) {if(this[j] this[minIndex]) {minIndex j; // 循环更新最小值}}// 最小值与内层循环开始位置进行交换, 通过if做一下优化if(i ! minIndex) {[this[i], this[minIndex]] [this[minIndex], this[i]]; // ES6 交换}}
}let arr [5,4,3,2,1]
arr.selectionSort()
console.log(arr); // [1, 2, 3, 4, 5]性能不好比较简单贪心找到数组中最小值选中它并将其放置于第一位(第一轮)接着找到第二小的值选中它并将其放置在第二位(第二轮)…以此类推执行n-1轮注意每一轮比较完毕前面的都是有序的可以跳过不再比较时间复杂度 O(n^2)