• 冒泡排序


    /**
         *  冒泡排序
         *  思想:当前项 和 后一项 进行对比, 如果当前项大于后者 则 调换位置
         *  执行
         *  1.循环数组 arr.length-1 (这里只是代表数组长度调用次数)
         *  2. 嵌套二次循环  arr.length -1 -i (每次循环最大值已经放到最后位置)
         *  3.判断 当前值 和 后者 如 为 true
         *  4.当前值保存为变量,当前值 替换为 后者,在把后者替换为 之前保留的变量
         *  5.继续循环
         */
        //  [10, 9, 8, 40, 70, 6, 15] length:8
    
        //  结果 :[9, 8, 10, 40, 6, 15, 11, 70]  内层第1次 调用7次 i = 0   length:7 j:0 Clength:7
    
        //  结果 :[8, 9, 10, 6, 15, 11, 40, 70]  内层第2次 调用6次 i = 1   length:7 j:1 Clength:6
    
        //  结果 :[8, 9, 6, 10, 11, 15, 40, 70]  内层第3次 调用5次 i = 2   length:7 j:2 Clength:7
    
        //  结果 :[8, 6, 9, 10, 11, 15, 40, 70]  内层第4次 调用4次 i = 3   length:7 j:3 Clength:4
    
        //  结果 :[6, 8, 9, 10, 11, 15, 40, 70]  内层第5次 调用3次 i = 4   length:7 j:4 Clength:3
        
        //  结果 :[6, 8, 9, 10, 11, 15, 40, 70]  内层第6次 调用2次 i = 5   length:7 j:5 Clength:2
    
        //  结果 :[6, 8, 9, 10, 11, 15, 40, 70]  内层第7次 调用1次 i = 6   length:7 j:6 Clength:1
    
    
        /**
         * 比较顺序 是由小到大 想要 由大到小 把最里面的比较改变即可
         */
    
        let arrs = [10, 9, 8, 40, 70, 6, 15, 11];
        function demo(arr) {
            let num = null;
            // 外层循环 控制i 控制比较的轮数
            for (let i = 0; i < arr.length-1; i++) {
                //内循环 控制每一轮的比较次数
                for (let j = 0; j < arr.length - 1 - i; j++) {
                    if (arr[j] > arr[j + 1]) {
                        num = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = num
                    }                
                    
                }
                console.log(i,arr)
                // if(i=0) return false;
            }
            return arr
        }
        console.log(demo(arrs))
    

      

  • 相关阅读:
    lambda表达式
    Shiro身份认证---转
    反转数组
    HashMap去重
    开发工具软件下载地址
    setInterval的使用和停用
    手机端的META
    spring自定义参数绑定(日期格式转换)
    mybatis注解动态sql
    SpringMVC文件上传
  • 原文地址:https://www.cnblogs.com/zhaozhenghao/p/14259617.html
Copyright © 2020-2023  润新知