summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2020-07-17 10:01:52 +0100
committerPaul Buetow <paul@buetow.org>2020-07-17 10:01:52 +0100
commitdbd6388393282672859c789b0e1b58d4f8fd0d0b (patch)
tree252fe3f8cac56dc6f2934dc91634679a445ee593
parente858efc16960b86175d655add938acd3f1edd13e (diff)
refactor
-rw-r--r--ds/arraylist.go2
-rw-r--r--ds/comparer.go10
-rw-r--r--ds/elem.go10
-rw-r--r--ds/integer.go10
-rw-r--r--sort/shuffle.go3
5 files changed, 16 insertions, 19 deletions
diff --git a/ds/arraylist.go b/ds/arraylist.go
index 65c42ef..c2ada86 100644
--- a/ds/arraylist.go
+++ b/ds/arraylist.go
@@ -5,7 +5,7 @@ import (
"strings"
)
-type ArrayList []Comparer
+type ArrayList []Elem
func (a ArrayList) FirstN(n int) string {
var sb strings.Builder
diff --git a/ds/comparer.go b/ds/comparer.go
deleted file mode 100644
index 8fb3727..0000000
--- a/ds/comparer.go
+++ /dev/null
@@ -1,10 +0,0 @@
-package ds
-
-type Comparer interface {
- Equal(a Comparer) bool
- Lower(a Comparer) bool
- LowerEqual(a Comparer) bool
- Higher(a Comparer) bool
- HigherEqual(a Comparer) bool
- Int() int
-}
diff --git a/ds/elem.go b/ds/elem.go
new file mode 100644
index 0000000..0589e81
--- /dev/null
+++ b/ds/elem.go
@@ -0,0 +1,10 @@
+package ds
+
+type Elem interface {
+ Equal(a Elem) bool
+ Lower(a Elem) bool
+ LowerEqual(a Elem) bool
+ Higher(a Elem) bool
+ HigherEqual(a Elem) bool
+ Int() int
+}
diff --git a/ds/integer.go b/ds/integer.go
index 04fee3e..bd7dbe2 100644
--- a/ds/integer.go
+++ b/ds/integer.go
@@ -43,22 +43,22 @@ func (i Integer) Int() int {
return i.val
}
-func (i Integer) Equal(j Comparer) bool {
+func (i Integer) Equal(j Elem) bool {
return i.val == j.Int()
}
-func (i Integer) Lower(j Comparer) bool {
+func (i Integer) Lower(j Elem) bool {
return i.val < j.Int()
}
-func (i Integer) LowerEqual(j Comparer) bool {
+func (i Integer) LowerEqual(j Elem) bool {
return i.val <= j.Int()
}
-func (i Integer) Higher(j Comparer) bool {
+func (i Integer) Higher(j Elem) bool {
return i.val > j.Int()
}
-func (i Integer) HigherEqual(j Comparer) bool {
+func (i Integer) HigherEqual(j Elem) bool {
return i.val >= j.Int()
}
diff --git a/sort/shuffle.go b/sort/shuffle.go
index 9c6f5b9..26db8c4 100644
--- a/sort/shuffle.go
+++ b/sort/shuffle.go
@@ -10,9 +10,6 @@ func Shuffle(a ds.ArrayList) ds.ArrayList {
for i := 0; i < length; i++ {
r := length - rand.Intn(length-i) - 1
- if r == i {
- continue
- }
tmp := a[i]
a[i] = a[r]
a[r] = tmp