JavaScript冒泡排序源码
时间: 2023-08-31 07:39:53 浏览: 137
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 - 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, 4];
console.log(bubbleSort(arr));
```
这段代码中,我们定义了一个名为`bubbleSort`的函数,它接受一个数组作为参数。内部使用两个嵌套的循环,外层循环控制比较的轮数,内层循环用于比较相邻元素并进行交换。在每一轮比较过程中,如果当前元素大于它后面的元素,就进行交换,将较大的元素移到后面。经过多轮比较和交换,最终得到一个有序的数组。
这段代码中,我们用一个示例数组`[5, 3, 8, 2, 1, 4]`进行测试,并在控制台打印出排序后的结果。运行结果为`[1, 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 - 1 - i; j++) { //内层循环控制每轮比较次数
if (arr[j] > arr[j + 1]) { //如果当前元素大于后一个元素,则交换它们
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
```
以上是一个使用了双重循环的冒泡排序源码。在每一轮的内层循环中,通过比较相邻两个元素的大小,如果前一个元素大于后一个元素,则交换它们的位置。外层循环控制排序的轮数,每进行一轮排序,都会将当前最大的元素移动到数组的最后位置。内层循环的比较次数随着轮数的增加而减少,因为每一轮排序都会将当前最大的元素移动到末尾,因此可以减少比较次数,提高性能。
最后,返回排序后的数组。这个冒泡排序算法的时间复杂度为O(n^2),空间复杂度为O(1)。
阅读全文