冒泡排序

简述

冒泡排序是交换排序的一种,是一种稳定的,性能不突出的排序算法。

时间复杂度:O(n²)[平均情况,最坏情况],O(n)[最好情况]

空间复杂度:O(1)

代码

const arr = [2, 5, 3, 8, 1, 7, 4, 9, 6, 0];

const len = arr.length;

const bubbling = () => {
  let change = null;
  for (let i = 0; i < len; i++) {
    change = null;
    for (let j = i; j < len; j++) {
      if (arr[i] > arr[j]) {
        change = arr[i];
        arr[i] = arr[j];
        arr[j] = change
      }
    }
  }
  console.log(arr);
}
bubbling();

每一趟都会确定一个数字的位置

// arr
[ 2, 5, 3, 8, 1, 7, 4, 9, 6, 0 ]
// 第1次排序
[ 0, 5, 3, 8, 2, 7, 4, 9, 6, 1 ]
// 第2次排序
[ 0, 1, 5, 8, 3, 7, 4, 9, 6, 2 ]
// 第3次排序
[ 0, 1, 2, 8, 5, 7, 4, 9, 6, 3 ]
// 第4次排序
[ 0, 1, 2, 3, 8, 7, 5, 9, 6, 4 ]
// 第5次排序
[ 0, 1, 2, 3, 4, 8, 7, 9, 6, 5 ]
// 第6次排序
[ 0, 1, 2, 3, 4, 5, 8, 9, 7, 6 ]
// 第7次排序
[ 0, 1, 2, 3, 4, 5, 6, 9, 8, 7 ]
// 第8次排序
[ 0, 1, 2, 3, 4, 5, 6, 7, 9, 8 ]
// 第9次排序
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
// 第10次排序
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 年越来越近,事也越来越多,而我的忘性似乎也是跟着越来越大咯。中午快1点了领导突然通知2点安排个谈话,所以一点半就着...
    Ljc_c10a阅读 323评论 2 6
  • 我居北海君南海,寄燕传书谢不能 春风桃李一杯酒,江湖夜雨十年灯 --------------《寄黄几复》- 我走过...
    污林圣手路公子阅读 485评论 0 0
  • 感觉自己被抛弃了 一觉睡醒 面对的是漆黑的房间 泪水忍不住就流下来了 我讨厌这样的生活
    天仙宝宝阅读 237评论 1 0

友情链接更多精彩内容