冒泡排序是一种基本的排序算法,它通过重复比较相邻的两个元素,如果它们的顺序错误就交换它们,直到没有任何一对元素需要交换为止。这样一趟排序后,最后一个元素就是最大的元素,接着再从第一个元素开始进行下一趟排序,直到所有元素都被排好序为止。

在 JavaScript 中,冒泡排序可以通过嵌套循环来实现。外层循环控制排序的轮数,内层循环控制每轮中的比较和交换操作。具体实现如下:

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

这段代码中,外层循环执行 len 次,内层循环执行 len-1-i 次,因为每轮排序后最后一个元素已经排好序了。如果当前元素比下一个元素大,就交换它们的位置,最终得到一个升序排列的数组。

JavaScript 冒泡排序算法详解及代码实现

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

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