#223·gods

RedBlackTree: 删除元素后,迭代器变得无效。

作者: 981377660LMT创建于 2023年3月21日更新于 2026年3月1日
go
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
}
我认为在删除一个元素后,其他元素的迭代器不应该受到影响。