type
status
summary
date
slug
tags
category
icon
password
前言:在我们的印象中其实set就是实现了一个key的容器,而map就是实现了key-value的一个容器,但是其实他们都是用的同一棵树-rb_tree
1.其实map和set都是应用的key-value的rb_tree,但是map和set略有不同
对于set的template是这样定义的-<k,k>对于map的template是这样定义的-<k,pair<k,v>>,由这样才能实现了map是key-value的容器,set是key的一个容器
仿函数是一种重载了函数调用运算符operator()的一种对象或者类,这可以使的对象或者类可以像函数那样被调用,仿函数既可以是一个普通的函数指针也可以是一个重载了operator()的对象或者类,既可以像函数那样被调用也能携带一些信息,这是普通函数所不能做到的
这里设计出来的这一颗红黑树,既适用于map也适用于set取决于你传入进入的值是pair<key,value>还是key
接下来我们就要设计一棵红黑树来适配于set和map
…暂时不想写map和set的封装了
就是要继续实现各种内置成语函数和迭代器等等需要封装
其实map的insert函数就是红黑树的insert,就是在map中定义一个insert函数,map中是实例化一个红黑树实例,然后在map的insert中调用红黑树的insert
- Author:PytC
- URL:https://PytC.fun//article/example-7
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!