美文网首页
冒泡排序

冒泡排序

作者: 弹力盒 | 来源:发表于2021-08-07 10:25 被阅读0次
/***
 * 冒泡排序算法描述
 * 1、比较相邻的元素,如果前一个比后一个大,交换之。
 * 2、第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,
 *    这样直到倒数第2个和最后1个,将最大的数移动到最后一位。
 * 3、第二趟将第二大的数移动至倒数第二位
 */
const arr = [3, 2, 4, 5, 1]
const len = arr.length
for (let i = 0; i < len - 1; i++) {
  for (let j = 0; j < len - i - 1; j++) {
    /**
     * arr[j] > arr[j + 1] 为升序
     * arr[j] < arr[j + 1] 为降序
     */
    if (arr[j] > arr[j + 1]) {
      let t = arr[j]
      arr[j] = arr[j + 1]
      arr[j + 1] = t
    }
  }
}

参考如下动图


77ad6f33ba0dc82446a74f109dd7c645.gif

相关文章

网友评论

      本文标题:冒泡排序

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