冒泡排序,幾乎每個程序員都會的經典排序算法,每趟循環都找出最大的值。時間複雜度最好最壞均爲O(n²)。所以冒泡適合用於數據量非常小的排序。
function sortBubble(arr) {
let flag = false;
for (let i = arr.length - 1; i > 0; i--) {
flag = false;
for (let j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
let tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
flag = true;
}
}
if (!flag) {
console.log("提前結束冒泡. i=" + i);
break;
}
}
}