目录
封装逻辑
用红黑树封装set和map
红黑树的定义改变
迭代器
红黑树的迭代器
set的迭代器
map重载[]操作的实现
比较关键——得到 key的类型K
封装逻辑
用红黑树封装set和map
map和set用红黑树来实现的;红黑树的前三个模板参数分别表示:得到key的类型,结点存储的类型,仿函数来求用存储类型中哪一个类型来进行比较;
不同的是map定义红黑树的参数是:key类型,pair<const K,V>,得到K类型
set定义红黑树的参数是:key类型,key类型,得到key类型
红黑树的定义改变
上一个文章已经大体实现了红黑树的结构,我们只需要将相应的修改相关细节即可!
修改细节1:
修改细节2:
修改细节3:
迭代器
红黑树的迭代器
构造函数
++操作——二叉树遍历的非递归实现
set的迭代器
map的迭代器
map重载[]操作的实现
比较关键——得到 key的类型K