diff --git a/codes/c/chapter_sorting/insertion_sort.c b/codes/c/chapter_sorting/insertion_sort.c index 56171a931..d8e9fe1c2 100644 --- a/codes/c/chapter_sorting/insertion_sort.c +++ b/codes/c/chapter_sorting/insertion_sort.c @@ -8,10 +8,10 @@ /* 插入排序 */ void insertionSort(int nums[], int size) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (int i = 1; i < size; i++) { int base = nums[i], j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > base) { // 将 nums[j] 向右移动一位 nums[j + 1] = nums[j]; diff --git a/codes/cpp/chapter_sorting/insertion_sort.cpp b/codes/cpp/chapter_sorting/insertion_sort.cpp index d9ea71910..d56b967af 100644 --- a/codes/cpp/chapter_sorting/insertion_sort.cpp +++ b/codes/cpp/chapter_sorting/insertion_sort.cpp @@ -8,10 +8,10 @@ /* 插入排序 */ void insertionSort(vector &nums) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (int i = 1; i < nums.size(); i++) { int base = nums[i], j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > base) { nums[j + 1] = nums[j]; // 将 nums[j] 向右移动一位 j--; diff --git a/codes/csharp/chapter_sorting/insertion_sort.cs b/codes/csharp/chapter_sorting/insertion_sort.cs index 78e520600..d3e974f62 100644 --- a/codes/csharp/chapter_sorting/insertion_sort.cs +++ b/codes/csharp/chapter_sorting/insertion_sort.cs @@ -9,10 +9,10 @@ namespace hello_algo.chapter_sorting; public class insertion_sort { /* 插入排序 */ void InsertionSort(int[] nums) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (int i = 1; i < nums.Length; i++) { int bas = nums[i], j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > bas) { nums[j + 1] = nums[j]; // 将 nums[j] 向右移动一位 j--; diff --git a/codes/dart/chapter_sorting/insertion_sort.dart b/codes/dart/chapter_sorting/insertion_sort.dart index ffc1cc95b..41ab47ec2 100644 --- a/codes/dart/chapter_sorting/insertion_sort.dart +++ b/codes/dart/chapter_sorting/insertion_sort.dart @@ -6,10 +6,10 @@ /* 插入排序 */ void insertionSort(List nums) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (int i = 1; i < nums.length; i++) { int base = nums[i], j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > base) { nums[j + 1] = nums[j]; // 将 nums[j] 向右移动一位 j--; diff --git a/codes/go/chapter_sorting/insertion_sort.go b/codes/go/chapter_sorting/insertion_sort.go index 30c9e452b..5fb3008b3 100644 --- a/codes/go/chapter_sorting/insertion_sort.go +++ b/codes/go/chapter_sorting/insertion_sort.go @@ -10,7 +10,7 @@ func insertionSort(nums []int) { for i := 1; i < len(nums); i++ { base := nums[i] j := i - 1 - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 for j >= 0 && nums[j] > base { nums[j+1] = nums[j] // 将 nums[j] 向右移动一位 j-- diff --git a/codes/java/chapter_sorting/insertion_sort.java b/codes/java/chapter_sorting/insertion_sort.java index aec75202f..cf75a525e 100644 --- a/codes/java/chapter_sorting/insertion_sort.java +++ b/codes/java/chapter_sorting/insertion_sort.java @@ -11,10 +11,10 @@ import java.util.*; public class insertion_sort { /* 插入排序 */ static void insertionSort(int[] nums) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (int i = 1; i < nums.length; i++) { int base = nums[i], j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > base) { nums[j + 1] = nums[j]; // 将 nums[j] 向右移动一位 j--; diff --git a/codes/javascript/chapter_sorting/insertion_sort.js b/codes/javascript/chapter_sorting/insertion_sort.js index b53f9c58a..152eb5d11 100644 --- a/codes/javascript/chapter_sorting/insertion_sort.js +++ b/codes/javascript/chapter_sorting/insertion_sort.js @@ -6,11 +6,11 @@ /* 插入排序 */ function insertionSort(nums) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (let i = 1; i < nums.length; i++) { let base = nums[i], j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > base) { nums[j + 1] = nums[j]; // 将 nums[j] 向右移动一位 j--; diff --git a/codes/rust/chapter_sorting/insertion_sort.rs b/codes/rust/chapter_sorting/insertion_sort.rs index a0d3d140f..833052f71 100644 --- a/codes/rust/chapter_sorting/insertion_sort.rs +++ b/codes/rust/chapter_sorting/insertion_sort.rs @@ -8,10 +8,10 @@ include!("../include/include.rs"); /* 插入排序 */ fn insertion_sort(nums: &mut [i32]) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for i in 1..nums.len() { let (base, mut j) = (nums[i], (i - 1) as i32); - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while j >= 0 && nums[j as usize] > base { nums[(j + 1) as usize] = nums[j as usize]; // 将 nums[j] 向右移动一位 j -= 1; diff --git a/codes/swift/chapter_sorting/insertion_sort.swift b/codes/swift/chapter_sorting/insertion_sort.swift index 4e665dc27..e86f1dba0 100644 --- a/codes/swift/chapter_sorting/insertion_sort.swift +++ b/codes/swift/chapter_sorting/insertion_sort.swift @@ -6,11 +6,11 @@ /* 插入排序 */ func insertionSort(nums: inout [Int]) { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for i in stride(from: 1, to: nums.count, by: 1) { let base = nums[i] var j = i - 1 - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while j >= 0, nums[j] > base { nums[j + 1] = nums[j] // 将 nums[j] 向右移动一位 j -= 1 diff --git a/codes/typescript/chapter_sorting/insertion_sort.ts b/codes/typescript/chapter_sorting/insertion_sort.ts index 46d284c2c..e49932d84 100644 --- a/codes/typescript/chapter_sorting/insertion_sort.ts +++ b/codes/typescript/chapter_sorting/insertion_sort.ts @@ -6,11 +6,11 @@ /* 插入排序 */ function insertionSort(nums: number[]): void { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] for (let i = 1; i < nums.length; i++) { const base = nums[i]; let j = i - 1; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 0 && nums[j] > base) { nums[j + 1] = nums[j]; // 将 nums[j] 向右移动一位 j--; diff --git a/codes/zig/chapter_sorting/insertion_sort.zig b/codes/zig/chapter_sorting/insertion_sort.zig index e8c023dd4..0db476a87 100644 --- a/codes/zig/chapter_sorting/insertion_sort.zig +++ b/codes/zig/chapter_sorting/insertion_sort.zig @@ -7,12 +7,12 @@ const inc = @import("include"); // 插入排序 fn insertionSort(nums: []i32) void { - // 外循环:已排序元素数量为 1, 2, ..., n + // 外循环:已排序区间为 [0, i-1] var i: usize = 1; while (i < nums.len) : (i += 1) { var base = nums[i]; var j: usize = i; - // 内循环:将 base 插入到已排序部分的正确位置 + // 内循环:将 base 插入到已排序区间 [0, i-1] 中的正确位置 while (j >= 1 and nums[j - 1] > base) : (j -= 1) { nums[j] = nums[j - 1]; // 将 nums[j] 向右移动一位 } diff --git a/docs/chapter_paperbook/index.assets/book_jd_link.jpg b/docs/chapter_paperbook/index.assets/book_jd_link.jpg index 623ac8ca1..a559f40b3 100644 Binary files a/docs/chapter_paperbook/index.assets/book_jd_link.jpg and b/docs/chapter_paperbook/index.assets/book_jd_link.jpg differ diff --git a/docs/chapter_paperbook/index.md b/docs/chapter_paperbook/index.md index 7bd0db6e7..5066e1fb6 100644 --- a/docs/chapter_paperbook/index.md +++ b/docs/chapter_paperbook/index.md @@ -62,6 +62,6 @@ status: new 起初,我低估了纸质书出版的工作量,以为只要维护好了开源项目,纸质版就可以通过某些自动化手段生成出来。实践证明,纸质书的生产流程与开源项目的更新机制存在很大的不同,两者之间的转化需要做许多额外工作。 -一本书的初稿与达到出版标准的定稿之间仍有较长距离,需要出版社(策划、编辑、设计、市场等)与作者的通力合作、长期雕琢。在此,在此感谢图灵策划编辑王军花、以及人民邮电出版社和图灵社区每位参与本书出版流程的工作人员! +一本书的初稿与达到出版标准的定稿之间仍有较长距离,需要出版社(策划、编辑、设计、市场等)与作者的通力合作、长期雕琢。在此感谢图灵策划编辑王军花、以及人民邮电出版社和图灵社区每位参与本书出版流程的工作人员! 希望这本书能够帮助到你! diff --git a/docs/chapter_stack_and_queue/queue.md b/docs/chapter_stack_and_queue/queue.md index db061580e..27d482620 100755 --- a/docs/chapter_stack_and_queue/queue.md +++ b/docs/chapter_stack_and_queue/queue.md @@ -38,7 +38,7 @@ que.append(4) # 访问队首元素 - front: int = que[0]; + front: int = que[0] # 元素出队 pop: int = que.popleft()