用数组函数写冒泡排序
时间: 2024-10-22 09:20:15 浏览: 32
冒泡排序是一种简单的排序算法,它通过反复交换相邻元素的位置,将较大的元素逐步“浮”到数组的一端。使用数组函数编写冒泡排序的过程可以分为以下几个步骤:
1. 定义一个函数,通常命名为`bubbleSort`或`bubble_array`,接受一个整数数组作为输入参数。
```javascript
function bubbleSort(arr) {
```
2. 获取数组的长度,以便于知道需要遍历多少次循环。
```javascript
const n = arr.length;
```
3. 使用嵌套的for循环实现冒泡过程。外层循环控制轮数(从0到n-1),内层循环用于比较并交换相邻元素。如果当前元素大于下一个元素,则交换它们。
```javascript
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], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
```
4. 内部循环结束后,最大的元素会沉到底部。外部循环再次运行直到整个数组有序。
5. 函数完成,返回排序后的数组。
```javascript
return arr;
}
```
完整的冒泡排序函数示例:
```javascript
function bubbleSort(arr) {
let n = arr.length;
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]];
}
}
}
return arr;
}
// 示例
const numbers = [64, 34, 25, 12, 22, 11, 90];
console.log(bubbleSort(numbers)); // 输出: [11, 12, 22, 25, 34, 64, 90]
阅读全文