# 冒泡排序

基本思想:外层循环每一次经过两两比较,把每一轮未排定部分最大的元素放到了数组的末尾;
「冒泡排序」有个特点:在遍历的过程中,提前检测到数组是有序的,从而结束排序,而不像「选择排序」那样,即使输入数据是有序的,「选择排序」依然需要「傻乎乎」地走完所有的流程。

# 基本的冒泡排序

基本的冒泡排序是,外层循环 n 次,内层循环依次对比所有相邻的两项。 外层循环第一轮结束,最后一个元素将是最大的,接着外层循环

// var arr = [11, 2, 6, 83, 7, 9, 32, 59, 36];

function Solution(arr) {
  for (let i = arr.length - 1; i > 0; i--) {
    let sorted = false;
    for (let j = 0; j < i; j++) {
      if (arr[j] > arr[j + 1]) {
        let temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
        sorted = true;
      }
    }
    if (!sorted) {
      break;
    }
  }
  console.log(arr);
}