冒泡排序法

冒泡排序是一种简单的排序算法,适用于小规模或基本有序的数组。尽管其时间复杂度为O(n^2),在大型数组中效率较低,但因其易于理解和实现,常用于教学和理解排序概念。示例展示了冒泡排序的JavaScript实现,并提及其在元素较少或已部分排序情况下的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡排序的作用是将一个无序的数组变成有序的数组。它可以用来解决排序问题,例如从小到大排序或从大到小排序。由于冒泡排序的实现非常简单,所以它适用于小型数组的排序,但对于大型数组,它的效率较低,不如快速排序等高效的排序算法。冒泡排序的时间复杂度为O(n^2)。

function bubbleSort(arr) {
let len = arr.length; //先获取到数组的长度
//循环数组
for (let i = 0; i < len - 1; i++) {
//内部循环每次都把当前最大的放到最后了在从0开始比较
for (let j = 0; j < len - 1 - i; j++) {
//再把剩下的继续遍历比较
if (arr[j] > arr[j + 1]) {
//如果arr[j]大于了arr[j+1],则交换位置,把大的交换到后面
//先用空容器放一下
let temp = arr[j];
//在进行交换
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}

// example usage
let arr = [64, 34, 25, 12, 22, 11, 90];
let sortedArr = bubbleSort(arr);
console.log(sortedArr); // [11, 12, 22, 25, 34, 64, 90]

冒泡排序在以下情况可以用到:

  1. 数组元素较少的情况下,可以使用冒泡排序。
  2. 数组元素基本有序的情况下,可以使用冒泡排序。
  3. 作为基础排序算法,用于教学和理解其他排序算法的原理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值