下面是用 JavaScript 实现的冒泡排序算法:function bubbleSort(arr) {
let n = arr.length;
let swapped;
// 外层循环控制排序的轮数
for (let i = 0; i < n - 1; i++) {
swapped = false;
// 内层循环进行相邻元素的比较和交换
for (let j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
swapped = true;
}
}
// 如果没有交换,说明数组已经有序,可以提前结束
if (!swapped) {
break;
}
}
return arr;
}
// 示例
const array = [64, 34, 25, 12, 22, 11, 90];
const sortedArray = bubbleSort(array);
console.log(sortedArray); // 输出: [11, 12, 22, 25, 34, 64, 90]这个 bubbleSort 函数接受一个数组作为参数,并返回排序后的数组。它使用嵌套循环来比较相邻的元素,并在需要时交换它们。外层循环控制总的排序轮数,而内层循环负责具体的比较和交换。如果在某一轮中没有发生任何交换,算法会提前结束,因为这意味着数组已经排序完成。
版权归属:
Administrator
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区