Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit e7b3cb7

Browse files
committed
feat: 冒泡排序
1 parent 2f6aa87 commit e7b3cb7

File tree

3 files changed

+30
-44
lines changed

3 files changed

+30
-44
lines changed

工具/交换.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
function swap(arr, i, j) {
2+
let temp = arr[i];
3+
arr[i] = arr[j];
4+
arr[j] = temp;
5+
};
6+
7+
module.exports = swap

工具/堆.js

Lines changed: 0 additions & 44 deletions
This file was deleted.

排序/冒泡排序.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const swap = require("../工具/交换");
2+
/**
3+
* 冒泡排序
4+
* @param {number[]} arr
5+
*/
6+
function bubbleSort(arr) {
7+
let n = arr.length;
8+
if (n <= 1) return arr;
9+
10+
for (let i = 0; i < n; i++) {
11+
let flag = false;
12+
for (let j = 0; j < n - 1 - i; j++) {
13+
if (arr[j] > arr[j + 1]) {
14+
swap(arr, j, j + 1);
15+
flag = true;
16+
}
17+
}
18+
if (!flag) return arr;
19+
}
20+
return arr;
21+
}
22+
23+
console.log(bubbleSort([4, 5, 2, 3, 1, 6, 5, 15, 2]));

0 commit comments

Comments
 (0)