From 4edf2dd20b300c27dcc96829e262aedcd438291a Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 12 Jul 2020 11:35:03 +0100 Subject: have selection sort --- ds/comparer.go | 9 +++++++++ ds/integer.go | 25 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ds/comparer.go create mode 100644 ds/integer.go (limited to 'ds') 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) +} -- cgit v1.2.3