zoukankan      html  css  js  c++  java
  • 前端基础算法【冒泡排序】——两种思路及详解

    第一种简单的比较写法

    <script>
        var nums = [-30,755,6,8,99,0];
    
        //冒泡排序
        for(var i =0;i<nums.length-1;i++){  //控制比较的轮数
            for(var j=0;j<nums.length-1-i;j++){  //控制比较的次数
                //用第三方变量交换值
                if(nums[j]>nums[j+1]){ 
                    var temp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }
        }
        console.log(nums)
    
    </script>

    解题思路:每一次都对比两个相邻数的大小,小的就排在前面,否则就交换位置

          var nums = [-30,755,6,8,99,0];

    第1次排序后:-30,755,6,8,99,0
    第2次排序后:-30,6,755,8,99,0
    第3次排序后:-30,6,8,755,99,0
    第4次排序后:-30,6,8,99,755,0
    第5次排序后:-30,6,8,99,0,755

    第6次排序后:-30,6,8,99,0,755
    第7次排序后:-30,6,8,99,0,755
    第8次排序后:-30,6,8,99,0,755
    第9次排序后:-30,6,8,0,99,755
    第10次排序后:-30,6,8,0,99,755

    第11次排序后:-30,6,8,0,99,755
    第12次排序后:-30,6,0,8,99,755
    第13次排序后:-30,6,0,8,99,755
    第14次排序后:-30,0,6,8,99,755
    第15次排序后:-30,0,6,8,99,755

      ↑          ↑

    nums.length-1   nums.length-1-(5/4/3/2/1=== i)

    第二种写法

    不使用中间变量的写法

  • 相关阅读:
    详解Windows注册表分析取证
    逻辑漏洞简单的分析
    文件解析漏洞汇总
    aspcms 这个靶场。。。
    WebBug靶场基础篇 — 03
    WebBug靶场基础篇 — 02
    WebBug靶场介绍篇 — 01
    漏洞挖掘中的常见的源码泄露
    PHP对象Object的概念
    从史上八大MySQL事故中学到的经验
  • 原文地址:https://www.cnblogs.com/code-klaus/p/8473445.html
Copyright © 2011-2022 走看看