RedBlackTree: 删除元素后,迭代器变得无效。
作者: 981377660LMT创建于 2023年3月21日更新于 2026年3月1日
package main
import (
"fmt"
"GitHub.com/emirpasic/gods/trees/redblacktree"
)
func main() {
tree := redblacktree.NewWithIntComparator()
tree.Put(1, struct{}{})
tree.Put(2, struct{}{})
tree.Put(3, struct{}{})
it1 := tree.Iterator()
it2 := tree.Iterator()
it1.Next()
it2.Next()
it2.Next()
fmt.Println(it1.Key()) // 1
tree.Remove(2)
fmt.Println(it1.Key()) // 1
it1.Next()
fmt.Println(it1.Key()) // 3
}
我认为在删除一个元素后,其他元素的迭代器不应该受到影响。内容来源: emirpasic/gods