美文网首页
javascript冒泡排序

javascript冒泡排序

作者: 夏夏夏夏顿天 | 来源:发表于2018-11-13 09:02 被阅读0次

    实现原理

    数组中有 n 个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最后面;那么经过 n-1(数组的 length - 1) 轮,就完成了所有数的排序。

    image.png

    代码

    var arr = [3, 4, 1, 2];
    function bubbleSort (arr) {
      var max = arr.length - 1;
      for (var j = 0; j < max; j++) {
        // 声明一个变量,作为标志位
        var done = true;
        for (var i = 0; i < max - j; i++) {
          if (arr[i] > arr[i + 1]) {
            var temp = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = temp;
            done = false;
          }
        }
        if (done) {
          break;
        }
      }
      return arr;
    }
    bubbleSort(arr);
    

    参考:
    https://segmentfault.com/a/1190000014175918

    相关文章

      网友评论

          本文标题:javascript冒泡排序

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