From 351cf24f70a23654f9e5898197fe524f3d5a5a20 Mon Sep 17 00:00:00 2001 From: Emir Pasic Date: Mon, 28 Mar 2016 06:57:04 +0200 Subject: [PATCH] expose comparator in redblacktree --- trees/redblacktree/redblacktree.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/trees/redblacktree/redblacktree.go b/trees/redblacktree/redblacktree.go index 6e527fe..507b8d1 100644 --- a/trees/redblacktree/redblacktree.go +++ b/trees/redblacktree/redblacktree.go @@ -51,7 +51,7 @@ const ( type Tree struct { Root *Node size int - comparator utils.Comparator + Comparator utils.Comparator } type Node struct { @@ -65,17 +65,17 @@ type Node struct { // Instantiates a red-black tree with the custom comparator. func NewWith(comparator utils.Comparator) *Tree { - return &Tree{comparator: comparator} + return &Tree{Comparator: comparator} } // Instantiates a red-black tree with the IntComparator, i.e. keys are of type int. func NewWithIntComparator() *Tree { - return &Tree{comparator: utils.IntComparator} + return &Tree{Comparator: utils.IntComparator} } // Instantiates a red-black tree with the StringComparator, i.e. keys are of type string. func NewWithStringComparator() *Tree { - return &Tree{comparator: utils.StringComparator} + return &Tree{Comparator: utils.StringComparator} } // Inserts node into the tree. @@ -88,7 +88,7 @@ func (tree *Tree) Put(key interface{}, value interface{}) { node := tree.Root loop := true for loop { - compare := tree.comparator(key, node.Key) + compare := tree.Comparator(key, node.Key) switch { case compare == 0: node.Value = value @@ -263,7 +263,7 @@ func output(node *Node, prefix string, isTail bool, str *string) { func (tree *Tree) lookup(key interface{}) *Node { node := tree.Root for node != nil { - compare := tree.comparator(key, node.Key) + compare := tree.Comparator(key, node.Key) switch { case compare == 0: return node