Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7a3bbf9

Browse files
committed
fix Aha-Algorithms chapter1
1 parent 6a90f22 commit 7a3bbf9

File tree

4 files changed

+44
-24
lines changed

4 files changed

+44
-24
lines changed

‎Aha-Algorithms/chapter1/1.2 sort_bubble.js‎

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,14 @@ console.log('排序数组', arr);
1919
* @returns {Array}
2020
*/
2121
function bubbleSort(arr) {
22-
let len = arr.length;
23-
for (let i = 0; i < len - 1; i++) {
24-
for (let j = i + 1; j < len; j++) {
25-
if (arr[i] > arr[j]) {
26-
[arr[i], arr[j]] = [arr[j], arr[i]]
27-
}
28-
}
29-
}
30-
return arr;
31-
}
32-
33-
/**
34-
* 冒泡排序,从小到大排序,把最大的数放到末尾
35-
* @param arr
36-
* @returns {Array}
37-
*/
38-
function bubbleSort2(arr) {
39-
let len = arr.length;
40-
for (let i = 0; i < len - 1; i++) {
41-
for (let j = 0; j < len - i - 1; j++) {
42-
if (arr[j] > arr[j + 1]) {
22+
let length = arr.length;
23+
for (let i = 0; i < length - 1; i++) {
24+
for (let j = 0; j < length - 1 - i; j++) {
25+
if (arr[j] > arr[j + 1]) { // 修改这判断,可以改成从大到小排序
4326
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
4427
}
4528
}
4629
}
47-
return arr;
30+
return arr
4831
}
4932

‎Aha-Algorithms/chapter1/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
由于算法复杂度高,但是比较容易掌握,一般都作为入门算法,我反正大学毕业了也只会这一种,正式场合慎用。
2727

28+
> 我多实现了一种算法 sort_selection.js `选择排序`,用于跟冒泡排序比较,方便理解区分这两种算法
2829
2930
## 快速排序
3031

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* 选择排序
3+
*/
4+
"use strict";
5+
6+
const util = require('../../util.js');
7+
8+
let arr = util.randomArray(4, 99, 20);
9+
10+
console.log('随机数组', arr);
11+
12+
arr = selectionSort(arr);
13+
14+
console.log('排序数组', arr);
15+
16+
/**
17+
* 选择排序,从小到大排序,把最小的数先提到开头
18+
* @param arr
19+
* @returns {Array}
20+
*/
21+
function selectionSort(arr) {
22+
let len = arr.length;
23+
for (let i = 0; i < len - 1; i++) {
24+
for (let j = i + 1; j < len; j++) {
25+
if (arr[i] > arr[j]) {
26+
[arr[i], arr[j]] = [arr[j], arr[i]]
27+
}
28+
}
29+
}
30+
return arr;
31+
}
32+
33+

‎README.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@
1010
> [Leetcode Solutions with JavaScript](https://github.com/hanzichi/leetcode)
1111
> [LeetCode-in-Go](https://github.com/aQuaYi/LeetCode-in-Go)
1212
13-
工具
13+
工具
1414
> [leetcode cli](https://github.com/skygragon/leetcode-cli) 针对 https://leetcode.com/ 使用
1515
16-
目录
16+
目录
1717
- [《啊哈!算法》代码 JS 实现](./Aha-Algorithms)
1818
- [《算法图解》代码 JS 实现](./Grokking-Algorithms)
1919
- [ LeetCode Algorithms ](./LeetCode)
2020
- [ 笔记 Notes ](./notes)
2121

22+
使用
23+
由于运行代码依赖工具类 util.js,LeetCode/leetcode.js ,所以需要先安装依赖包,在根目录执行 `yarn install` 即可
24+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /