js排序

本文详细介绍了两种经典的排序算法——冒泡排序和插入排序。包括它们的基本原理、实现方式及示例代码,并针对易错点进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡排序

  function Sort(array) {
       for (i=0;i<array.length-1;i++){
           for (j=0;j<array.length-1-i;j++){
               if (array[j]>array[j+1]){
                    [array[j],array[j+1]]=[array[j+1],array[j]];
               }
           } 
       }
       return array;
   }
    var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
   console.log(Sort(arr));

其中的 [array[j],array[j+1]]=[array[j+1],array[j]];可以写成

                       var m=array[j];
                       array[j]=array[j+1];
                       array[j+1]=m;

冒泡排序完成

插入排序

function insertionSort(array) {//插入排序
        for (var i = 1; i < array.length; i++) { //次数
            var key = array[i];
            var j = i - 1;
            while ( array[j] > key) {//前面这个数跟后面的数比较
                array[j + 1] = array[j];//后面这个数赋值前面这个数
                j--;
            }
            array[j + 1] = key;
        }

        return array;
    }

     var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
      console.log(insertionSort(arr));

插入排序易想错的地方:
while循环中的key为什么不能写成array[i]?
key是在循环中 他要一个固定的数字,而array[i]会随着循环的改变而改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值