美文网首页
js 冒泡排序理解

js 冒泡排序理解

作者: Peter_2B | 来源:发表于2020-07-01 13:29 被阅读0次

0: 先上结论:  下图就是冒泡算法


1:  外循环 length 为什么 - 1?  因为是两两比较,  整个数组6个元素, 当然就是比较5次; 

     也就是外循环,循环5次 两两比较,每一次的两两比较, 把当前位置的值 和 后一个位置 的值比较大小,  如果当前值大于后一个位置的值就 交换位置, 最后就找出最大的值,排到数组的最后;


2:  首先看到冒泡排序的算法,我产生了一个疑问?  为什么内循环的length  要 再减去 i 呢? 所以我尝试了不减 i;

上图可见: 内循环不减 i 同样也是可行的;得到的结果也是相同的;此时就可以结束了, 内循环不需要再-i,这样反而会造成混乱;


一开始看到内循环减 i 就晕了, 这也是冒泡排序最难的点:

内循环减 i 的作用:  不再比较 已经比较过的;    如同 for循环里 查找条件,如果为真, break 跳出循环 不再比较下去,节约内存的性能。

如何理解 内循环减 i:  先得理解  外循环 length 为什么 - 1?  因为是两两比较, 整个数组长度6个元素, 当然就是比较5次; 也就是外循环,循环5次 两两比较;

最后再来理解内循环:  arr.length-1-i:  

i 的作用:  就是忽略比较的长度

相关文章

  • js 冒泡排序理解

    0: 先上结论: 下图就是冒泡算法 1: 外循环 length 为什么 - 1? 因为是两两比较, 整个数组6个元...

  • js排序-随便写写

    排序随便写写 记录一下js排序插入排序 冒泡排序

  • 前端er常用的几种排序方法

    前端常用的排序方法有:冒泡排序,选择排序,快速排序,插入排序 一、冒泡排序 理解冒泡排序 相邻的两个元素依次比较,...

  • Js冒泡排序&选择排序

    title: Js冒泡排序&选择排序date: 2018-05-03 23:00:00tags: 基础排序冒泡法c...

  • JS算法笔记 - 排序

    冒泡排序 改进冒泡排序 选择排序 快速排序 在JS中相对较快 插入排序 改进:二分插入排序 希尔排序 动态定义间隔...

  • 冒泡排序与选择排序

    冒泡排序 冒泡排序原理:比较相邻的元素,较小的放到前面,较大的放到后面 要理解冒泡排序首先要理解两个元素互换 例如...

  • Java冒泡排序,快速排序理解与实现

    经典排序算法中,有好几种排序,下边说下冒泡排序和快速排序的理解与实现,记太多容易混乱; 1.冒泡排序:字面理解,值...

  • 必须掌握算法:冒泡、选择、插入排序算法

    目录 1、冒泡排序 2、选择排序 3、插入排序 4、总结 1、冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,...

  • php之排序-------冒泡排序的优化

    本文需要在理解冒泡排序的基础之上 排序是算法入门的基础操作,冒泡排序很经典。下面这个改进后的冒泡排序,使循环的次数...

  • 12.3 js冒泡排序

    js冒泡排序,没有很难的点,直接贴代码吧。

网友评论

      本文标题:js 冒泡排序理解

      本文链接:https://www.haomeiwen.com/subject/suqcqktx.html