summaryrefslogtreecommitdiff
path: root/ds/integer.go
diff options
context:
space:
mode:
Diffstat (limited to 'ds/integer.go')
-rw-r--r--ds/integer.go55
1 files changed, 21 insertions, 34 deletions
diff --git a/ds/integer.go b/ds/integer.go
index e8936c8..1372624 100644
--- a/ds/integer.go
+++ b/ds/integer.go
@@ -1,22 +1,19 @@
package ds
import (
- "fmt"
"math/rand"
)
-type Integer struct {
- Val int
-}
+type Integer int
func RandomIntegers(length, max int) ArrayList {
a := make(ArrayList, length)
for i := 0; i < length; i++ {
if max > 0 {
- a[i] = Integer{rand.Intn(max)}
+ a[i] = Integer(rand.Intn(max))
continue
}
- a[i] = Integer{rand.Int()}
+ a[i] = Integer(rand.Int())
}
return a
}
@@ -24,7 +21,7 @@ func RandomIntegers(length, max int) ArrayList {
func AscendingIntegers(length int) ArrayList {
a := make(ArrayList, length)
for i := 0; i < length; i++ {
- a[i] = Integer{i}
+ a[i] = Integer(i)
}
return a
}
@@ -33,57 +30,47 @@ func DescendingIntegers(length int) ArrayList {
a := make(ArrayList, length)
j := length
for i := 0; i < length; i++ {
- a[i] = Integer{j}
+ a[i] = Integer(j)
j--
}
return a
}
-func (i Integer) String() string {
- return fmt.Sprintf("%d", i.Val)
-}
-
-func (i Integer) Int() int {
- return i.Val
-}
-
-func (i Integer) Equal(j Elem) bool {
- return i.Val == j.Int()
+func (i Integer) Equal(j Integer) bool {
+ return i == j
}
-func (i Integer) Lower(j Elem) bool {
- return i.Val < j.Int()
+func (i Integer) Lower(j Integer) bool {
+ return i < j
}
-func (i Integer) LowerEqual(j Elem) bool {
- return i.Val <= j.Int()
+func (i Integer) LowerEqual(j Integer) bool {
+ return i <= j
}
-func (i Integer) Higher(j Elem) bool {
- return i.Val > j.Int()
+func (i Integer) Higher(j Integer) bool {
+ return i > j
}
-func (i Integer) HigherEqual(j Elem) bool {
- return i.Val >= j.Int()
+func (i Integer) HigherEqual(j Integer) bool {
+ return i >= j
}
-func (i Integer) Compare(j Elem) int {
- jVal := j.Int()
+func (i Integer) Compare(j Integer) int {
switch {
- case i.Val < jVal:
+ case i < j:
return -1
- case i.Val > jVal:
+ case i > j:
return 1
}
return 0
}
-func (i Integer) CompareCB(j Elem, lowerCB, higherCB, equalsCB func()) {
- jVal := j.Int()
+func (i Integer) CompareCB(j Integer, lowerCB, higherCB, equalsCB func()) {
switch {
- case i.Val < jVal:
+ case i < j:
lowerCB()
- case i.Val > jVal:
+ case i > j:
higherCB()
default:
equalsCB()