(前端)算法-排序-冒泡排序

246 阅读1分钟

冒泡排序是稳定排序,并不会修改两个相同元素的前后顺序,其原理是:

  1. 从当前元素起,向后依次比较每一对相邻元素,若逆序则交换。
  2. 对所有元素均重复以上步骤,直至最后一个元素

JS代码实现如下:

function bubbleSort(arr) {
    for(let i = 0; i < arr.length - 1; i++) { /* 外循环为排序趟数,len个数进行len-1趟 */
        for(let j = 0; j < arr.length - 1 - i; j++) { /* 内循环为每趟比较的次数,第i趟比较len-i次 */
            if(arr[j] > arr[j+1]) { /* 相邻元素比较,若逆序则交换(升序为左大于右,降序反之) */
              [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
            }
        }
    }
  return arr;
}
let arr = [9, 56, 2, 0, 48, 63, 2, 9];
let arrSorted = bubbleSort(arr);