JS常用数组排序方法汇总

JS常用数组排序方法汇总

  1. Bubble_Sort 冒泡排序
  • 每一轮从数组头部开始,每两个元素比较大小并进行交换 直到一轮当中最大或最小的值被放在数组的尾部,然后,不断重复这个过程,直到所有的元素都排好位置.
    var arr1 = [1, 3, 14, 520, 99, 2, 6];
    for (var i = 0; i < arr1.length; i++) { 
        for (var j = 0; j < arr1.length - i - 1; j++) { 
            if (arr1[j] > arr1[j + 1]) {    
                var temp = arr1[j];
                arr1[j] = arr1[j + 1];
                arr1[j + 1] = temp;
            }
        }
    }
    console.log(arr1);
  1. Insertion_Sort 插入排序
  • 不断的将尚未排好序的数插入到已经排好序的部分.
    var arr2 = [1, 3, 14, 520, 99, 2, 6];
    for (var i = 0; i < arr2.length; i++) {
        var n = i;
        while (arr2[n] > arr2[n + 1] && n >= 0) {
            var temp = arr2[n];
            arr2[n] = arr2[n + 1];
            arr2[n + 1] = temp;
            n--;
        }
    }
    console.log(arr2);
  • 冒泡排序中,经过每一轮的排序处理后,数组后端的数都是排好序的;
  • 插入排序中,经过每一轮的排序处理后,数组前端的数都是排好序的;
  1. Select_Sort 选择排序
  • 通过比较,选出最小的数放在第一位,然后在其余所有的数中选出最小的数排在第二位,以此类推,直到排序结束.
    var arr3 = [1, 3, 14, 520, 99, 2, 6];
    var temp;
    for (var i = 0; i < arr3.length - 1; i++) {
        for (var j = i + 1; j < arr3.length; j++) {
            if (arr3[i] > arr3[j]) {
                temp = arr3[i];
                arr3[i] = arr3[j];
                arr3[j] = temp;
            }
        }
    }
    console.log(arr3);
  1. sort()方法排序
    var arr4 = [1, 3, 14, 520, 99, 2, 6];
    arr4.sort(function (a, b) {
        return a - b;   //正序
        // return b - a;   //倒序
    })
    console.log(arr4);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值