js的冒泡排序
时间: 2023-06-28 15:14:40 浏览: 37
冒泡排序是一种简单的排序算法,它的基本思路是多次遍历待排序的数列,每次比较相邻的两个元素,如果他们的顺序错误就交换他们的位置,直到没有任何一对数字需要比较为止。
以下是用 JavaScript 实现冒泡排序的代码:
```javascript
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
```
这里定义了一个叫做 `bubbleSort` 的函数,它接受一个数组作为参数,并返回排序后的数组。在函数内部,我们使用两个嵌套的循环来实现冒泡排序。外层循环 `i` 控制比较的轮数,内层循环 `j` 控制每轮比较的次数。
在每次比较中,我们判断相邻的两个元素是否需要交换位置。如果是,我们就使用一个 `temp` 变量来暂存一个元素的值,然后交换两个元素的值。
最终,我们返回排序后的数组。
相关问题
javaScript冒泡排序
JavaScript冒泡排序是一种简单的排序算法,它通过比较相邻元素的大小来进行排序。具体步骤如下:
1. 遍历数组,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。
2. 继续遍历数组,重复上述比较和交换的步骤,直到没有需要交换的元素为止。
3. 重复执行上述步骤,每次遍历都会将最大的元素移动到数组的末尾。
4. 重复执行n-1次遍历,直到所有元素都按照从小到大的顺序排列。
下面是JavaScript实现冒泡排序的代码示例:
```javascript
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
var arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // 输出 [2, 3, 4, 5, 8]
```
Javascript 冒泡排序
Javascript 冒泡排序是一种简单的排序算法,通过多次遍历数组并交换相邻的项来将数组排序。
这是一个简单的冒泡排序算法的实现:
```
function bubbleSort(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换两个项
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
```
冒泡排序的时间复杂度为 O(n^2),不适用于大型数据集。