以下是冒泡排序的 Javascript 实现:

function bubbleSort(arr) {
  var len = arr.length;
  for (var i = 0; i < len - 1; i++) {
    for (var j = 0; j < len - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        var temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return arr;
}

如何优化冒泡排序?

  1. 设置标志位 在每次遍历时,如果没有任何元素需要交换,则说明已经排好序,可以直接结束排序。

  2. 减少遍历次数 在每次遍历时,如果发现某个位置已经排好序,则下一次遍历就可以减少一次。

以下是优化后的冒泡排序的 Javascript 实现:

function bubbleSort(arr) {
  var len = arr.length;
  for (var i = 0; i < len - 1; i++) {
    var flag = false;  // 设置标志位
    for (var j = 0; j < len - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        var temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
        flag = true;
      }
    }
    if (!flag) break;  // 如果没有交换,则已经排好序,直接结束排序
  }
  return arr;
}
JavaScript 冒泡排序算法实现及优化

原文地址: https://www.cveoy.top/t/topic/l1kD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录