Skip to content

Commit

Permalink
feat: revise code
Browse files Browse the repository at this point in the history
  • Loading branch information
fiteen committed Dec 24, 2019
1 parent e6eee59 commit 85d3231
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 30 deletions.
8 changes: 2 additions & 6 deletions HeapSort/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,8 @@ void heapify(int tree[], int n, int i) {
// 右侧子节点下标
int right = 2 * i + 2;
int max = i;
if (left < n && tree[left] > tree[max]){
max = left;
}
if (right < n && tree[right] > tree[max]){
max = right;
}
if (left < n && tree[left] > tree[max]) max = left;
if (right < n && tree[right] > tree[max]) max = right;
if (max != i) {
swap(tree, max, i);
heapify(tree, n, max);
Expand Down
8 changes: 2 additions & 6 deletions HeapSort/heap_sort.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,8 @@ void heapify(int tree[], int n, int i) {
// 右侧子节点下标
int right = 2 * i + 2;
int max = i;
if (left < n && tree[left] > tree[max]){
max = left;
}
if (right < n && tree[right] > tree[max]){
max = right;
}
if (left < n && tree[left] > tree[max]) max = left;
if (right < n && tree[right] > tree[max]) max = right;
if (max != i) {
swap(tree, max, i);
heapify(tree, n, max);
Expand Down
12 changes: 3 additions & 9 deletions QuickSort/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,9 @@ int select_pivot_median_of_three(int arr[], int low, int high) {
// 计算数组中间的元素的下标
int mid = low + ((high - low) >> 1);
// 排序,使 arr[mid] <= arr[low] <= arr[high]
if (arr[mid] > arr[high]) {
swap(arr, mid, high);
}
if (arr[low] > arr[high]) {
swap(arr, low, high);
}
if (arr[mid] > arr[low]) {
swap(arr, low, mid);
}
if (arr[mid] > arr[high]) swap(arr, mid, high);
if (arr[low] > arr[high]) swap(arr, low, high);
if (arr[mid] > arr[low]) swap(arr, low, mid);
// 使用 low 位置的元素作为基准
return arr[low];
}
Expand Down
12 changes: 3 additions & 9 deletions QuickSort/quick_sort.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,9 @@ int select_pivot_median_of_three(int arr[], int low, int high) {
// 计算数组中间的元素的下标
int mid = low + ((high - low) >> 1);
// 排序,使 arr[mid] <= arr[low] <= arr[high]
if (arr[mid] > arr[high]) {
swap(arr, mid, high);
}
if (arr[low] > arr[high]) {
swap(arr, low, high);
}
if (arr[mid] > arr[low]) {
swap(arr, low, mid);
}
if (arr[mid] > arr[high]) swap(arr, mid, high);
if (arr[low] > arr[high]) swap(arr, low, high);
if (arr[mid] > arr[low]) swap(arr, low, mid);
// 使用 low 位置的元素作为基准
return arr[low];
}
Expand Down

0 comments on commit 85d3231

Please sign in to comment.