用js写冒泡排序,然后输出每一趟结果
时间: 2023-12-12 12:00:44 浏览: 71
冒泡排序是一种简单的排序算法,使用JavaScript编写冒泡排序可以通过嵌套循环来实现。下面是一个用JavaScript编写的冒泡排序算法,并输出每一趟的结果:
```javascript
let arr = [6, 3, 9, 5, 2, 8, 1, 4, 7]; // 待排序数组
function bubbleSort(arr) {
let len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 交换位置
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
// 输出每一趟的结果
console.log(`第${i + 1}趟排序后的结果:${arr}`);
}
return arr;
}
console.log("原始数组:" + arr);
console.log("排序后的数组:" + bubbleSort(arr));
```
以上的代码使用了一个嵌套的for循环来比较相邻的元素并进行交换位置,然后在每一趟排序结束后输出排序后的结果。通过这种方式可以清晰地看到每一趟排序后数组的变化,直到整个数组完成排序。
相关问题
用js写一个冒泡排序
好的,以下是用 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 = [3, 1, 5, 7, 2, 4, 9, 6, 8];
console.log(bubbleSort(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
```
冒泡排序的基本思想是:对于给定的 n 个元素,从第一个元素开始,依次比较相邻两个元素的大小,如果前一个元素比后一个元素大,则交换这两个元素,直到把最大的元素交换到数组的末尾为止。这样一趟下来,最后一个元素就是数组中最大的元素。然后再对前面的 n - 1 个元素重复上述操作,直到整个数组排序完成。
帮我写一个js的冒泡排序
### 回答1:
当然可以,以下是js的冒泡排序代码:
```
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+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
var arr = [3, 1, 4, 2, 6, 5];
console.log(bubbleSort(arr)); //输出 [1, 2, 3, 4, 5, 6]
```
### 回答2:
当然可以帮你写一个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]) {
// 交换arr[j]和arr[j+1]的位置
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
```
这段代码中,我们使用了一个外部循环和一个内部循环来完成排序。外部循环控制遍历的轮数(共需遍历n-1次),内部循环用于交换相邻两个元素的位置,如果当前元素大于后一个元素,则进行交换。
你可以将你想要排序的数组作为参数传递给`bubbleSort`函数,例如:`bubbleSort([4, 2, 7, 1, 3])`。函数会返回一个排好序的数组。
希望这个代码能够帮到你,如果有任何问题,请随时向我提问。
### 回答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, 4, 2];
console.log(bubbleSort(arr)); // 输出:[2, 3, 4, 5, 8]
```
阅读全文