Merge pull request #135 from doshiraki/origin/modifyRBTree

I modified Prev and Next Because it uses Compare function.
pull/194/head
Emir Pasic 2 years ago committed by GitHub
commit 9548245e86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -56,13 +56,11 @@ func (iterator *Iterator) Next() bool {
}
goto between
}
if iterator.node.Parent != nil {
for iterator.node.Parent != nil {
node := iterator.node
for iterator.node.Parent != nil {
iterator.node = iterator.node.Parent
if iterator.tree.Comparator(node.Key, iterator.node.Key) <= 0 {
goto between
}
iterator.node = iterator.node.Parent
if node == iterator.node.Left {
goto between
}
}
@ -98,13 +96,11 @@ func (iterator *Iterator) Prev() bool {
}
goto between
}
if iterator.node.Parent != nil {
for iterator.node.Parent != nil {
node := iterator.node
for iterator.node.Parent != nil {
iterator.node = iterator.node.Parent
if iterator.tree.Comparator(node.Key, iterator.node.Key) >= 0 {
goto between
}
iterator.node = iterator.node.Parent
if node == iterator.node.Right {
goto between
}
}

Loading…
Cancel
Save