JavaScript 冒泡排序算法实现详解
以下是用 JavaScript 编写的冒泡排序算法:
function bubbleSort(arr) {
let len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
// 测试
let arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // [2, 3, 4, 5, 8]
冒泡排序算法是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并交换它们的位置,直到列表被排序。
算法步骤:
- 比较相邻的元素,如果第一个元素大于第二个元素,则交换它们的位置。
- 重复步骤 1,直到列表的末尾。
- 重复步骤 1 和 2,直到列表被排序。
代码解析:
bubbleSort(arr)函数接受一个数组arr作为参数。len变量存储数组的长度。- 外层循环遍历数组的所有元素,除了最后一个元素。
- 内层循环遍历当前元素后面的所有元素。
- 如果当前元素大于下一个元素,则交换它们的位置。
- 函数最后返回排序后的数组。
优缺点:
优点:
- 代码简单易懂。
- 实现比较容易。
缺点:
- 时间复杂度为 O(n^2),效率较低。
- 对已经排序好的数组效率很低。
适用场景:
冒泡排序适合于数据量较小的数组,或者需要一个简单的排序算法。
总结:
冒泡排序是一种基础的排序算法,它虽然效率较低,但易于理解和实现。对于简单的数据排序任务,它仍然是一个可行的选择。
原文地址: https://www.cveoy.top/t/topic/lWK4 著作权归作者所有。请勿转载和采集!