zoukankan      html  css  js  c++  java
  • about冒泡的那些事

    看了 http://www.cnblogs.com/fuhongxue2011/archive/2011/05/25/2056775.html的文章

    我自己也写了个冒泡排序

    <script>
    var temp;
    var arr=new Array(7,3,9,5,4,1);
    for (var i=0;i<arr.length;i++)
    {
    	for(var j=i+1;j<arr.length;j++)
    {
    	if(arr[i]<arr[j])
    {
    	temp=arr[i];
    	arr[i]=arr[j];
    	arr[j]=temp;
    }
    }
    }
    for (var i=0;i<arr.length;i++)
    {
    	alert(arr[i]);
    }
    </script>
    

    arr[i]<arr[j]  这时候是冒泡降序

    arr[i]>arr[j]这时候是冒泡升序

    谨以此文留以纪念

    详解:

    第一个for循环从0开始 第二个for循环从1开始

    第二个for循环的作用是 拿每一个i的值和所有比较   然后符合条件 进行交换 否则不交换  然后进行 i+1 重复比较

    if(arr[i]<arr[j])//符合前一个数小于后一个数进行下边的交换 
    {
    	temp=arr[i];//小的数交给临时变量
    	arr[i]=arr[j];//大的数替换给小的数的位置
    	arr[j]=temp;//临时变量中的小的数替换大的数的位置
    }
    比如 7,3,9

    第一次:7(i=0)和3(j=1)比(不交换)    7(i=0)和9(j=2)比(交换) -->937(现在的顺序是973了)

    i+1 j+1 之后

    第二次:3(i=1)和7(j=2)比(交换) -->973(现在的顺序是973)

    以为只有3个数  所以到此over

  • 相关阅读:
    springboot-pom文件报错问题
    php-session永不过期
    linux mysql 配置
    jmeter
    性能指标
    ab
    php--xdebug调试
    logstash6-mysql同步数据到es
    php--宝塔环境
    linux-centos7安装错误解决
  • 原文地址:https://www.cnblogs.com/0banana0/p/2057177.html
Copyright © 2011-2022 走看看