复制
收藏
提问
简洁
用js写一个冒泡排序
2月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
冒泡排序是一种基础的排序算法,其核心思想是通过重复遍历待排序的数组,比较每对相邻元素的大小,并在必要时交换它们的位置。这个过程会重复进行,直到没有需要交换的元素为止,这意味着数组已经完全排序。以下是使用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 array = [64, 34, 25, 12, 22, 11, 90];
console.log("原始数组:", array);
console.log("冒泡排序后的数组:", bubbleSort(array));
在这个示例中,bubbleSort
函数接受一个数组 arr
作为参数。我们首先获取数组的长度 len
,然后使用两个嵌套的循环来遍历数组。外层循环控制排序的总轮数,内层循环负责在每一轮中进行相邻元素的比较和交换。如果在内层循环中发生了元素交换,说明数组还没有完全排序,需要继续进行下一轮的遍历。当内层循环结束时,没有发生任何交换,说明数组已经排序完成。最后,函数返回排序后的数组。
请注意,冒泡排序的时间复杂度为 O(n^2),在数据量大时效率较低,但在数据量较小或者部分数据已经有序的情况下,它的性能表现是可接受的。56
你觉得结果怎么样?