remove dedup

This commit is contained in:
Chris Lu
2021-08-20 04:14:52 -07:00
parent 2d237da74a
commit 88d68cad87
4 changed files with 51 additions and 83 deletions

View File

@@ -14,7 +14,7 @@ type loc_iterator func() (i int, leaf *BpNode, li loc_iterator)
func NewBpTree(node_size int) *BpTree {
return &BpTree{
root: NewLeaf(node_size, false),
root: NewLeaf(node_size),
}
}
@@ -26,20 +26,6 @@ func (self *BpTree) Has(key Hashable) bool {
return l.keys[j].Equals(key)
}
func (self *BpTree) Count(key Hashable) int {
if len(self.root.keys) == 0 {
return 0
}
j, l := self.root.get_start(key)
count := 0
end := false
for !end && l.keys[j].Equals(key) {
count++
j, l, end = next_location(j, l)
}
return count
}
func (self *BpTree) Add(key Hashable, value interface{}) (err error) {
new_root, err := self.root.put(key, value)
if err != nil {
@@ -89,7 +75,7 @@ func (self *BpTree) RemoveWhere(key Hashable, where WhereFunc) (err error) {
return err
}
if new_root == nil {
self.root = NewLeaf(ns, false)
self.root = NewLeaf(ns)
} else {
self.root = new_root
}