zoukankan      html  css  js  c++  java
  • 冒泡算法

    <body>
    <!--
    冒泡排序: [2,5,8,1,4]
    原理:
    第一次冒泡:从索引为0开始,进行两两比较,如果索引小上的值大于索引大的值,交换位置,最终产生一个最大值放大arr.length-1的位置 (第一次就会产生最大的值哦)
    0-1 1-2 2-3 3-4
    第二次冒泡:从索引为0开始,进行两两比较,如果索引小上的值大于索引大的值,交换位置,最终产生一个最大值放大arr.length-2的位置
    0-1 1-2 2-3
    第三次冒泡:从索引为0开始,进行两两比较,如果索引小上的值大于索引大的值,交换位置,最终产生一个最大值放大arr.length-3的位置
    0-1 1-2
    第四次冒泡:从索引为0开始,进行两两比较,如果索引小上的值大于索引大的值,交换位置,最终产生一个最大值放大arr.length-4的位置
    0-1

    总结:
    1. 如果数组元素有n个,冒泡次数为n-1次
    2.
    第一次冒泡: 0-1 1-2 2-3 3-4
    第二次冒泡: 0-1 1-2 2-3
    第三次冒泡: 0-1 1-2
    第四次冒泡: 0-1

    if(arr[j] > arr[j+1]){ //arr[j]是代表左边的 arr[j+1]是代表右边的值
    }

    i:排序的次数 j:每次排序遍历的索引
    1 0 1 2 3(4-i)
    2 0 1 2(4-i)
    3 0 1(4-i)
    4 0(4-i)

    arr.length-1等于4
    j = arr.length-1-i;结束的条件

    -->
    <script>

    var arr = [2,5,8,1,4];

    //i:排序的次数
    for (let i = 1; i <= arr.length-1; i++) {

    //j:每次排序遍历的索引
    for (let j = 0; j <= arr.length-1-i; j++) {
    if(arr[j] > arr[j + 1]){ //小标为0的与下标为1的值做比较
    let temp = arr[j];
    arr[j] = arr[j + 1];
    arr[j + 1] = temp;
    }
    }
    }

    console.log(arr);

    </script>

  • 相关阅读:
    四则运算出题器3
    《梦断代码》读书笔记
    结队开发的小程序
    四则运算程序测试
    (补)PSP三张表
    多功能四则运算出题器
    四则运算分析题
    C语言编写的随机产生四则运算测试题
    读书笔记
    四则运算(三)
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/11628911.html
Copyright © 2011-2022 走看看