用js写出一个冒泡排序
时间: 2023-09-13 16:04:53 浏览: 48
### 回答1:
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;
}
// Example usage:
var arr = [64, 34, 25, 12, 22, 11, 90];
console.log(bubbleSort(arr)); // Output: [11, 12, 22, 25, 34, 64, 90]
### 回答2:
冒泡排序是一种简单的排序算法,它重复地遍历待排序的元素,一次比较两个元素,如果它们的顺序错误就把它们交换过来。重复这个过程,直到整个数组有序。
以下是用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];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
var array = [5, 3, 8, 4, 2];
console.log(bubbleSort(array));
```
上述代码定义了一个名为`bubbleSort`的函数,它接收一个待排序的数组作为参数,并返回排序后的数组。内部通过两层循环来实现冒泡排序的逻辑,外层循环控制需要比较的轮数,内层循环则遍历每一轮需要比较的元素。比较相邻两个元素的大小,并进行交换,直到将最大(或最小)的元素移动到最后的位置。内层循环完成后,外层循环进入下一轮比较,直到所有元素都有序。
在最后的示例中,我们定义一个数组`array`,并调用`bubbleSort`函数对其进行排序。排序后的结果通过`console.log`输出到控制台。