summaryrefslogtreecommitdiff
path: root/sort/shell.go
diff options
context:
space:
mode:
Diffstat (limited to 'sort/shell.go')
-rw-r--r--sort/shell.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/sort/shell.go b/sort/shell.go
index 99aaf3d..39414f5 100644
--- a/sort/shell.go
+++ b/sort/shell.go
@@ -17,11 +17,12 @@ func Shell(a []ds.Comparer) []ds.Comparer {
for h >= 1 {
for i := h; i < length; i++ {
for j := i; j >= h; j -= h {
- if a[j].LowerThan(a[j-h]) {
- tmp := a[j]
- a[j] = a[j-h]
- a[j-h] = tmp
+ if a[j-h].Lower(a[j]) {
+ break
}
+ tmp := a[j]
+ a[j] = a[j-h]
+ a[j-h] = tmp
}
}