From 4ca09c1015ccd8af6f0592728facaccb3c83b0dc Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Thu, 29 Dec 2022 17:50:02 -0500
Subject: [PATCH 1/8] Update merge_sort.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
修改了代码注释使其表述更严谨,如C++中:
for (int k = left; k <= right; k++) {
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
// 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
// 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
---
docs/chapter_sorting/merge_sort.md | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/docs/chapter_sorting/merge_sort.md b/docs/chapter_sorting/merge_sort.md
index 9ee984271..48a5046c7 100644
--- a/docs/chapter_sorting/merge_sort.md
+++ b/docs/chapter_sorting/merge_sort.md
@@ -81,10 +81,10 @@ comments: true
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
@@ -125,10 +125,10 @@ comments: true
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
@@ -170,11 +170,11 @@ comments: true
if i > left_end:
nums[k] = tmp[j]
j += 1
- # 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ # 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
elif j > right_end or tmp[i] <= tmp[j]:
nums[k] = tmp[i]
i += 1
- # 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ # 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else:
nums[k] = tmp[j]
j += 1
@@ -218,11 +218,11 @@ comments: true
if i > left_end {
nums[k] = tmp[j]
j++
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
} else if j > right_end || tmp[i] <= tmp[j] {
nums[k] = tmp[i]
i++
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j]
j++
@@ -267,10 +267,10 @@ comments: true
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd) {
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
} else if (j > rightEnd || tmp[i] <= tmp[j]) {
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j++];
}
@@ -312,10 +312,10 @@ comments: true
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd) {
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
} else if (j > rightEnd || tmp[i] <= tmp[j]) {
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j++];
}
@@ -365,10 +365,10 @@ comments: true
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
From a03353f8e2bbde2583bbfe65f8e0f9c1c04ec4ee Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:20:25 -0500
Subject: [PATCH 2/8] Update merge_sort.cpp
---
codes/cpp/chapter_sorting/merge_sort.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/cpp/chapter_sorting/merge_sort.cpp b/codes/cpp/chapter_sorting/merge_sort.cpp
index 7c9a41c8e..b406529a3 100644
--- a/codes/cpp/chapter_sorting/merge_sort.cpp
+++ b/codes/cpp/chapter_sorting/merge_sort.cpp
@@ -25,10 +25,10 @@ void merge(vector& nums, int left, int mid, int right) {
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
From 1b71e74baac5f79073a7179d509b78a42962a59a Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:21:03 -0500
Subject: [PATCH 3/8] Update merge_sort.cs
---
codes/csharp/chapter_sorting/merge_sort.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/csharp/chapter_sorting/merge_sort.cs b/codes/csharp/chapter_sorting/merge_sort.cs
index 04ac8acdd..e66ae5e23 100644
--- a/codes/csharp/chapter_sorting/merge_sort.cs
+++ b/codes/csharp/chapter_sorting/merge_sort.cs
@@ -31,10 +31,10 @@ namespace hello_algo.chapter_sorting
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
From 5d45f7116716be00be72ae3a611b1a0597319254 Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:21:40 -0500
Subject: [PATCH 4/8] Update merge_sort.go
---
codes/go/chapter_sorting/merge_sort/merge_sort.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/go/chapter_sorting/merge_sort/merge_sort.go b/codes/go/chapter_sorting/merge_sort/merge_sort.go
index 830e2dfa4..f2910600a 100644
--- a/codes/go/chapter_sorting/merge_sort/merge_sort.go
+++ b/codes/go/chapter_sorting/merge_sort/merge_sort.go
@@ -25,11 +25,11 @@ func merge(nums []int, left, mid, right int) {
if i > left_end {
nums[k] = tmp[j]
j++
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
} else if j > right_end || tmp[i] <= tmp[j] {
nums[k] = tmp[i]
i++
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j]
j++
From 6ba808ed3631c01e320ebe24e4fbe78c43f58eaf Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:22:07 -0500
Subject: [PATCH 5/8] Update merge_sort.java
---
codes/java/chapter_sorting/merge_sort.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/java/chapter_sorting/merge_sort.java b/codes/java/chapter_sorting/merge_sort.java
index 498a6fd81..fe9f183a5 100644
--- a/codes/java/chapter_sorting/merge_sort.java
+++ b/codes/java/chapter_sorting/merge_sort.java
@@ -28,10 +28,10 @@ public class merge_sort {
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd)
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
else if (j > rightEnd || tmp[i] <= tmp[j])
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else
nums[k] = tmp[j++];
}
From 96355afb1ce236fb19dfda07a96ebe865a766734 Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:22:31 -0500
Subject: [PATCH 6/8] Update merge_sort.js
---
codes/javascript/chapter_sorting/merge_sort.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/javascript/chapter_sorting/merge_sort.js b/codes/javascript/chapter_sorting/merge_sort.js
index 31860ce1d..b00c17bcd 100644
--- a/codes/javascript/chapter_sorting/merge_sort.js
+++ b/codes/javascript/chapter_sorting/merge_sort.js
@@ -23,10 +23,10 @@ function merge(nums, left, mid, right) {
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd) {
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
} else if (j > rightEnd || tmp[i] <= tmp[j]) {
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j++];
}
From 506bc009c7c9d51f97fbfb617aa8d303093f2d08 Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:22:59 -0500
Subject: [PATCH 7/8] Update merge_sort.py
---
codes/python/chapter_sorting/merge_sort.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/python/chapter_sorting/merge_sort.py b/codes/python/chapter_sorting/merge_sort.py
index f3fb538ae..5fa7d83a9 100644
--- a/codes/python/chapter_sorting/merge_sort.py
+++ b/codes/python/chapter_sorting/merge_sort.py
@@ -28,11 +28,11 @@ def merge(nums, left, mid, right):
if i > left_end:
nums[k] = tmp[j]
j += 1
- # 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ # 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
elif j > right_end or tmp[i] <= tmp[j]:
nums[k] = tmp[i]
i += 1
- # 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ # 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
else:
nums[k] = tmp[j]
j += 1
From 327b566ff936db1114be40a928cc1e6b11632c05 Mon Sep 17 00:00:00 2001
From: GN-Yu <58758623+GN-Yu@users.noreply.github.com>
Date: Fri, 30 Dec 2022 13:23:26 -0500
Subject: [PATCH 8/8] Update merge_sort.ts
---
codes/typescript/chapter_sorting/merge_sort.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/codes/typescript/chapter_sorting/merge_sort.ts b/codes/typescript/chapter_sorting/merge_sort.ts
index 44fb4b8d0..a4cb5e1cb 100644
--- a/codes/typescript/chapter_sorting/merge_sort.ts
+++ b/codes/typescript/chapter_sorting/merge_sort.ts
@@ -23,10 +23,10 @@ function merge(nums: number[], left: number, mid: number, right: number): void {
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if (i > leftEnd) {
nums[k] = tmp[j++];
- // 否则,若“右子数组已全部合并完”或“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
+ // 否则,若“右子数组已全部合并完”或“左子数组元素 <= 右子数组元素”,则选取左子数组元素,并且 i++
} else if (j > rightEnd || tmp[i] <= tmp[j]) {
nums[k] = tmp[i++];
- // 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
+ // 否则,若“左右子数组都未全部合并完”且“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j++];
}