From 224cff0a5113b1ea1a09fd48caf164e5690ec8a7 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 17 Jul 2020 09:25:48 +0100 Subject: refactor --- ds/arraylist.go | 37 +++++++++++++++++++++++++++++++++++++ ds/comparer.go | 4 ---- 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 ds/arraylist.go (limited to 'ds') diff --git a/ds/arraylist.go b/ds/arraylist.go new file mode 100644 index 0000000..65c42ef --- /dev/null +++ b/ds/arraylist.go @@ -0,0 +1,37 @@ +package ds + +import ( + "fmt" + "strings" +) + +type ArrayList []Comparer + +func (a ArrayList) FirstN(n int) string { + var sb strings.Builder + j := n + + length := len(a) + if j > length { + j = length + } + + for i := 0; i < j; i++ { + fmt.Fprintf(&sb, "%v ", a[i]) + } + + if j < length { + fmt.Fprintf(&sb, "... ") + } + + return sb.String() +} + +func (a ArrayList) Sorted() bool { + for i := len(a) - 1; i > 0; i-- { + if a[i].Lower(a[i-1]) { + return false + } + } + return true +} diff --git a/ds/comparer.go b/ds/comparer.go index c132ea9..8fb3727 100644 --- a/ds/comparer.go +++ b/ds/comparer.go @@ -8,7 +8,3 @@ type Comparer interface { HigherEqual(a Comparer) bool Int() int } - -func (c []Comparer) firstN(n int) []Comparer { - return c -} -- cgit v1.2.3