手写JS冒泡排序
时间: 2023-07-10 13:24:29 浏览: 49
好的,以下是手写JS冒泡排序的示例代码:
```javascript
function bubbleSort(arr) {
let len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
```
在该函数中,我们使用了两个嵌套的循环来实现冒泡排序。外层循环控制排序轮数,内层循环控制每一轮的比较和交换操作。每一轮操作完成后,就会将当前未排序部分中的最大元素移动到最后面,因此需要在下一轮比较中排除已经排好序的部分,即内层循环的结束条件为 `len - i - 1`。
最后,我们可以在 `main` 函数中调用 `bubbleSort` 函数进行测试,例如:
```javascript
let arr = [5, 2, 6, 1, 3, 9, 4, 8, 7];
console.log(bubbleSort(arr)); // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
```
在执行完 `bubbleSort` 函数后,我们可以通过 `console.log` 方法将排序后的数组输出到控制台。
相关问题
js 手写冒泡排序代码
当然可以为您提供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;
}
```
这段代码可以对一个数组进行冒泡排序,将数组元素从小到大排序。如果您有任何其他问题,欢迎继续提问。
js手写一个冒泡排序
以下是使用JavaScript手写的冒泡排序算法:
```javascript
let arr = [23, 56, 520, 920, 888, 666]; // 原始数组
function bubbleSort(arr) {
if (arr.length < 2) { // 如果数组长度小于2,直接返回原数组
return arr;
} else {
for (let i = 0; i < arr.length - 1; i++) { // 外层循环控制比较轮数
for (let j = 0; j < arr.length - 1 - i; j++) { // 内层循环控制每一轮比较次数
if (arr[j > arr[j + 1]) { // 如果前一个元素大于后一个元素,交换位置
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr; // 返回排序后的数组
}
}
console.log(bubbleSort(arr)); // 打印 [23, 56, 520, 666, 888, 920]
```
这段代码使用了双重循环,外层循环控制比较轮数,内层循环控制每一轮的比较次数。通过比较相邻元素的大小,如果前一个元素大于后一个元素,则交换位置。最终得到排序后的数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [JS经典排序之冒泡排序和快排,入门级手写实现。](https://blog.csdn.net/Yi2008yi/article/details/122498180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]