# 冒泡排序

# 描述

冒泡排序:就像气泡在水中上浮一样,两个数比较大小,较大的数下沉,较小的数冒起来。

  • 比较相邻的两个数据,如果第二个数小,就交换位置。
  • 从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。
  • 继续重复上述过程,依次将第2.3...n-1个最小数排好位置。

# 过程

在这里插入图片描述

# 实现

function bubSort(nums = []) {
    // 简单的边界判断
    if (nums.length <= 1) {
        return nums;
    }
    const len = nums.length;
    for (let i = 0; i < len - 1; i++) {
        // 每一趟交换,最大的值一定会确定在结尾
        for (let j = 0; j < len - i - 1; j++) {
            if (nums[j] > nums[j + 1]) {
                let temp = nums[j];
                nums[j] = nums[j + 1];
                nums[j + 1] = temp;
            }
        }
    }
    return nums;
}
Last Updated: 2/4/2023, 10:29:49 AM