赞
踩
一定要熟悉各个排序的时间复杂度
1、冒泡排序
两层循环,外层控制趟数,内层两两比价
function sort(arr){ var len = arr.length; for(let i = len-1; i >= 2 ; i--){ for(let j = 0 ; j < len; j++){ if(arr[j]>arr[j+1]){ let temp = arr[j] arr[j] = arr[j+1] arr[j+1] = temp; } } return arr } //优化,使用es6的赋值结构 function sort(arr){ var len = arr.length; for(let i = len-1; i >= 2 ; i--){ for(let j = 0 ; j < len; j++){ if(arr[j]>arr[j+1]){ [arr[j],arr[j+1]] = [arr[j+1],arr[j]] } } return arr }
2、选择排序
从数组的开头开始,将第一个元素和其他元素作比较,检查完所有的元素后,最小的放在第一个位置,接下来再开始从第二个元素开始,重复以上一直到最后。
function sort(arr){
var len = arr.length;
for(let i = 0 ; i <len-1 ; i++){
for( j = i ; j < len ; j++){
if(arr[j] <arr [i]){
[arr[i],arr[j]] = [arr[j],arr[i]]
}
}
}
retrun arr
}
3、插入排序
首先将待排序的第一个记录作为一个有序段
从第二个开始,到最后一个,依次和前面的有序段进行比较,确定插入位置
function insertsort(arr){
var len = arr.length
for(let i = 1 ; i < len ; i
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。