3.冒泡排序

Posted flyingliao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.冒泡排序相关的知识,希望对你有一定的参考价值。

方法一:

  利用for 和 if-else

<script type="text/javascript">
        var arr = [32,4,67,82,21,11];
            
        ///轮数
        for(var i = 0; i<arr.length-1;i++){
            //次数
            for(var j = 0;j<arr.length-1-i;j++){
                
            //判断前一个大于后一个数时进行交换
                if(arr[j]>arr[j+1]){
                //借助第三方变量交换两个变量的值
                    var temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        console.log(arr);

        //冒泡排序
        
        //给出一个数组
        var newArr = [1,3,6,4,8,5];
        //for遍历
        //将最小的数一步一步往前移
        for(var i = 0; i<newArr.length-1;i++){
            //相邻两个之间换位置
            for(var j = 0;j<newArr.length-1;j++){  //这里和上面一样的地方不同在于没有 - i .
                //判断前一个大于后一个数时进行交换
                if(newArr[j] > newArr[j+1]){
                    //借助第三方变量交换两个变量的值
                    var temp = newArr[j];
                    newArr[j] = newArr[j+1];
                    newArr[j+1] = temp;
                }
            }
        }
        console.log(newArr);

</script>

方法二:

  利用 sort()方法

<script type="text/javascript">
    //1.给出一个数组
    var arr = [3,5,1,7,99,8];
    //2.创建一个排序函数
    //若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    //若 a 等于 b,则返回 0。
    //若 a 大于 b,则返回一个大于 0 的值。
    function sortNumber(a, b){
        return a - b
    }
    console.log(arr.sort(sortNumber));
</script>

 

以上是关于3.冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

冒泡排序与快速排序

C言语冒泡排序算法及代码

java冒泡排序法代码

算法-排序-1.冒泡排序/2.选择排序/3.插入排序

总结:大厂面试常考手撕代码 —— JavaScript排序算法(冒泡排序选择排序插入排序快速排序)

七大排序算法(插排,希尔,选择排序,堆排,冒泡,快排,归并)--图文详解