zoukankan      html  css  js  c++  java
  • JS-冒泡排序

    回温一下 JavaScript中的冒泡排序

    原理:依次比较相邻的两个值,如果后面的比前面的小,则将小的元素排到前面。依照这个规则进行多次并且递减的迭代,直到顺序正确。

    时间复杂度,空间复杂度,稳定性:
    时间复杂度 指的是一个算法执行所耗费的时间
    空间复杂度 指运行完一个程序所需内存的大小
    稳定 指如果a=b,a在b的前面,排序后a仍然在b的前面,不稳定指,如果a=b,a在b的前面,排序后可能会交换位置

    <script type="text/javascript">  
        
        var arr = [12, 34, 28, 28, 15, 13, 27, 46];
    
        // reverse 倒序 noReverse 正序
        console.log(BubbleSort(arr,'noReverse'))
    
        function BubbleSort(arr,order) {
            // i 是比较的次数 因为是两两相比 所以这里 i 从 1 开始到 length-1 
            for (let i = 1; i < arr.length; i++) {
                
                for(let j = 0; j < arr.length-i; j++) {
                    if (order === 'reverse') {
                        if (arr[j] > arr[j+1]) {
                            var item = arr[j];
                            arr[j] = arr[j+1];
                            arr[j+1] = item;                    
                        }
                    }else if (order === 'noReverse') {
                        if (arr[j] < arr[j+1]) {
                            var item = arr[j];
                            arr[j] = arr[j+1];
                            arr[j+1] = item;                    
                        }
                    }
                    
                }
    
            };
    
            return arr
        };
    
    </script> 

    现成的排序方法:sort()
    使用方法:sort(function (a,b){return  a-b})     从小到大排

                      sort(function (a,b){return  b-a})     从大到小排

    //升序
    var
    arr = [4,3,6,5,7,2,1]; arr.sort(function(a,b){ return a-b }); console.log(arr);
    //降序
    var arr = [4,3,6,5,7,2,1]; arr.sort(function(a,b){ return b-a }); console.log(arr);
  • 相关阅读:
    配置Log4j(非常具体)
    RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
    普林斯顿公开课 算法1-11:并查集的应用
    检查Oracle 中死事务的语句
    app被Rejected 的各种原因翻译
    经典语录和思考总结
    Java实现夺冠概率模拟
    Java实现夺冠概率模拟
    Java实现打印回型嵌套
    Java实现打印回型嵌套
  • 原文地址:https://www.cnblogs.com/yangchin9/p/11096229.html
Copyright © 2011-2022 走看看