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