返回列表
algorithm #冒泡排序 #算法 #排序算法 #10大算法

冒泡排序详解

FD
Flame Dream
2024年3月15日 2 分钟阅读 0

冒泡排序详解

冒泡排序(Bubbling Sort)是一种比较直观的排序方式。数组中的元素大小就像就像水中的气泡一样,气泡大的先浮出来,气泡大的会放到数组最后。冒泡排序比较相邻的两个元素,如果数组坐标小的的元素A大于坐标大的元素B,交换两元素,循环重复上述对比交换工作,直到数组排序完成。

冒泡排序有一种情况说明该数组已经是有序数组,在第一趟遍历中元素没有发生交换,则说明该序列已经有序。

1.算法步骤

  • 从数组的第一个元素开始,依次比较相邻的元素,如果数组坐标小的元素A大于数组坐标大的元素B,交换这两个元素的位置。
  • 数组执行一遍后,最后的元素是最大的元素。
  • 对数组重复步骤1、步骤2的操作,除了上一次遍历出的最后一个元素。
  • 持续执行上述步骤,直到没有任何元素需要比较。数组排序完成

2.算法演示流程

Bubbling Sort

3.实现代码

function bubblingSort(arr){
    var len = arr.length;
    for(var i = 0; i < len - 1; i++){
        for(var j = 0; j < len - 1 - i; j++){
            // 避免 第一个循环 出现数组访问越界问题
            if (j == len - 1) {
                continue;
            }

            if (arr[j] > arr[j + 1]) {
                var tempV = arr[j+1];
                arr[j+1] = arr[j];
                arr[j] = tempV;
            }
        }
    }
    return arr;
}
分享