Skip to content

Commit 50c699a

Browse files
committed
修改希尔排序的实现
1 parent 584645b commit 50c699a

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

src/com/fantasy/algorithm/sort/ShellSort.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
*
1818
* <pre>
1919
* author : Fantasy
20-
* version : 1.0, 2020-08-31
20+
* version : 1.1, 2020-09-04
2121
* since : 1.0, 2020-08-31
2222
* </pre>
2323
*/
@@ -34,14 +34,12 @@ public static void shellSort(int[] arr) {
3434
int length = arr.length;
3535
int value; // 待插入的值
3636
int step = length / 2; // 记录每一次跳跃式比较的增量
37+
int j;
3738
while (step >= 1) {
3839
for (int i = step; i < length; i += step) {
3940
value = arr[i];
40-
int j = i;
41-
// 注意点,与插入排序不同的是这里要">=",因为step最小为1
42-
while (j >= step && arr[j - step] > value) {
41+
for (j = i; j >= step && arr[j - step] > value; j -= step) {
4342
arr[j] = arr[j - step];
44-
j -= step;
4543
}
4644
arr[j] = value;
4745
}

0 commit comments

Comments
 (0)