手写冒泡排序

Posted yxfboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手写冒泡排序相关的知识,希望对你有一定的参考价值。

// 冒泡排序原理:
// 把第一项a和后一项b进行比较,如果a比b大,那么把第一项后移,第二项前移。
// 也就是把第一项变成b,把第二项变成a,依次循环,把每一项都执行一遍。
let arr = [1, 2, 4, 8, 5, 10, 9, 7, 6];
// 减1是为了最后一项不用再和后面的进行比较了,减去j也是不用对当前j进行循环
let isOk = true;
for (let j = 0; j < arr.length -1; j ++) {
  for (let i = 0; i < arr.length - 1 - j; i ++) {
    let a = arr[i];
    let b = arr[i + 1];
    if (a > b) {
      arr[i] = b;
      arr[i + 1] = a;
      isOk = false;
    }

    if (isOk) { // 如果已经排好,就不继续循环排序
      break;
    }
  }
}

 

以上是关于手写冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

手写冒泡排序

面试:手写个冒泡排序吧

手写9x9乘法表,冒泡排序

手写冒泡排序

冒泡排序以及选择排序代码实现

面试官:手写一个冒泡排序,并对其改进