map和set的封装细节
调用insert函数,insert返回一个pair,pair第一个参数为指向节点的迭代器,因为重载了-> ,所以迭代器调用second——首先调用->函数找到pair的地址,再去找到second,因为第二个参数可以修改,所以返回second的引用。当右节点为空时,此时以此节点为根的整棵树都遍历完成,这是向上找到parent左边为cur的parent节点,此时parent为下一个需遍历节点。当此节点的右节点不为空时,找到右子树的最左节点,此时为当前节点的下一个节点。细节图在往期中有画,这里附上源码。
原创
2024-05-22 10:24:57 ·
287 阅读 ·
0 评论