summaryrefslogtreecommitdiff
path: root/ds
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2020-07-12 11:35:03 +0100
committerPaul Buetow <paul@buetow.org>2020-07-12 11:35:03 +0100
commit4edf2dd20b300c27dcc96829e262aedcd438291a (patch)
treef4596883c8210b4e855166289f482efb907bec64 /ds
have selection sort
Diffstat (limited to 'ds')
-rw-r--r--ds/comparer.go9
-rw-r--r--ds/integer.go25
2 files changed, 34 insertions, 0 deletions
diff --git a/ds/comparer.go b/ds/comparer.go
new file mode 100644
index 0000000..737ad1b
--- /dev/null
+++ b/ds/comparer.go
@@ -0,0 +1,9 @@
+package ds
+
+type Comparer interface {
+ LowerThan(a Comparer) bool
+ HigherThan(a Comparer) bool
+ Equals(a Comparer) bool
+}
+
+type CompareList []Comparer
diff --git a/ds/integer.go b/ds/integer.go
new file mode 100644
index 0000000..69ee0aa
--- /dev/null
+++ b/ds/integer.go
@@ -0,0 +1,25 @@
+package ds
+
+import "math/rand"
+
+type Integer int
+
+func RandomIntegers(length, max int) []Comparer {
+ a := make([]Comparer, length)
+ for i := 0; i < length; i++ {
+ a[i] = Integer(rand.Intn(max))
+ }
+ return a
+}
+
+func (i Integer) LowerThan(j Comparer) bool {
+ return i < j.(Integer)
+}
+
+func (i Integer) HigherThan(j Comparer) bool {
+ return i > j.(Integer)
+}
+
+func (i Integer) Equals(j Comparer) bool {
+ return i == j.(Integer)
+}