用js编写一段冒泡排序
时间: 2024-02-22 07:30:23 浏览: 74
以下是用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写一个冒泡排序
### 回答1:
答案:以下是用JavaScript实现的冒泡排序算法: function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { // 相邻元素两两对比
var temp = arr[j+1]; // 元素交换
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return 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 nums = [5, 3, 8, 4, 2];
console.log(bubbleSort(nums)); // 输出 [2, 3, 4, 5, 8]
```
这段代码定义了一个`bubbleSort`函数,它接收一个数组作为参数,并返回排序后的数组。函数中使用两个嵌套的`for`循环来实现冒泡排序的比较和交换操作。外层循环控制比较的迭代次数,内层循环从数组的第一个元素开始,比较相邻的两个元素并进行交换,直到最后一个未排序的元素。最终,排序后的数组将被返回。
在示例用法中,我们定义了一个包含5个数字的数组`nums`,然后调用`bubbleSort`函数对它进行排序,并将排序后的结果打印到控制台上。输出的结果是`[2, 3, 4, 5, 8]`,表示数组已经按照升序排序完成。
### 回答3:
冒泡排序是一种简单的排序算法,通过多次遍历数组,在每一次遍历中比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。这样,每一次遍历都会将未排序部分的最大值移动到已排序部分的末尾。重复上述步骤,直到整个数组排序完成。
以下是用JavaScript实现冒泡排序的代码:
```javascript
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 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 = [5, 3, 8, 2, 1];
console.log(bubbleSort(arr)); // 输出 [1, 2, 3, 5, 8]
```
以上代码中,`bubbleSort`函数接受一个数组作为参数,使用两个嵌套的循环来遍历并比较数组中的元素。若当前元素大于后一个元素,则交换它们的位置。最终返回排序后的数组。在示例用法中,输出的结果为`[1, 2, 3, 5, 8]`。
用JS写一个冒泡排序
### 回答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]`。这是经过冒泡排序算法排序后的数组。
阅读全文