红黑树 【map】、【set】的使用

  • Post author:
  • Post category:其他


关联容器:

1)map:经过排序了的二元组的集合,map中的每个元素都是由两个值组成,其中的key(键值,一个map中的键值必须是唯一的) 是在排序或搜索时使用,它的值可以在容器中重新获取;而另一个值是该元素关联的数值。

2)set:包含了经过排序了的数据,这些数据的值(value)必须是唯一的

map和set的基本原理:红黑树。

一.红黑树实现——STL中的map

1.map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。

2.map的功能:

1)自动建立Key - value的对应(key 和 value可以是任意你需要的类型)

2)根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。

3)快速插入Key – Value 记录

4)快速删除记录

5)根据Key 修改value记录

6)遍历所有记录

3.map对象是模板类,需要关键字和存储对象两个模板参数,这样就定义了一个用int作为索引,并拥有相关联的指向string的指针.

4.map使用:

1.数据的插入

在构造map容器后,我们就可以往里面插入数据了

1)用insert函数插入pair数据

<



版权声明:本文为yiyi0116原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。