算法协议:密度碰撞与气泡升腾 | 复杂度:O(n²)
1. 左右碰撞 (Comparison): 从第一个元素开始,比较相邻的两个数。这就像是在探测它们的“密度”。
2. 气泡升腾 (Swapping): 如果左边的数比右边大,说明左边太“重”了,它们会交换位置。大的数会逐渐向阵列末尾移动。
3. 锁定极值 (Locking): 每完成一轮循环,最大的数就会像气泡升到水面一样,锁定在阵列最右侧。
async function bubbleSort(arr) { for (let i = 0; i < n - 1; i++) { for (let j = 0; j < n - i - 1; j++) { // 比较相邻元素 if (arr[j] > arr[j + 1]) { // 密度不匹配,交换位置 [arr[j], arr[j+1]] = [arr[j+1], arr[j]]; } } } }