用JS写一个冒泡排序
时间: 2023-08-31 09:33:59 浏览: 102
### 回答1:
这是一份 JavaScript 冒泡排序的代码:
```
function bubbleSort(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
var arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
console.log(bubbleSort(arr));
```
该代码实现了冒泡排序算法,通过不断交换相邻的数字,使得较大的数字不断地“冒泡”到序列的末尾。最终,序列中的数字将会是从小到大排列的。
### 回答2:
冒泡排序是一种简单的排序算法,其工作原理是通过重复比较相邻的元素并交换顺序,直到没有需要交换的元素为止。下面是用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]
```
这段代码中,我们首先定义一个`bubbleSort`函数,以数组`arr`作为参数。在这个函数中,我们使用了两个嵌套的循环来实现冒泡排序算法。外层循环控制比较的轮数,内层循环用于比较和交换元素。
在每一轮比较中,我们通过比较`arr[j]`与`arr[j+1]`的大小关系判断是否需要交换这两个元素的位置。如果`arr[j]`大于`arr[j+1]`,则交换它们的位置。
最后,返回排序后的数组。
在测试代码中,我们定义了一个未排序的数组`arr`,并调用`bubbleSort`函数对其进行排序。最后,使用`console.log`函数输出排序后的结果。
### 回答3:
冒泡排序是一种基本的排序算法,它通过相邻元素之间的比较和交换来达到排序的目的。以下是用 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("排序前的数组:" + arr);
console.log("排序后的数组:" + bubbleSort(arr));
```
在上述代码中,我们定义了一个 `bubbleSort` 函数,它接受一个数组作为参数。通过两个嵌套的 `for` 循环,我们迭代比较数组中相邻元素的值,并在需要时进行交换,从而实现排序。最后,我们返回排序后的数组。
使用示例中给定的数组 `[5, 3, 8, 4, 2]` 作为输入,我们可以在控制台上看到输出的结果:`[2, 3, 4, 5, 8]`。这是经过冒泡排序算法排序后的数组。
阅读全文