知识点
C++中map提供的是一种键值对容器,里面的数据都是成对出现的。map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。
1.当使用数组的方式遍历map
时,下标是从1开始。
2.用find()
函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map
中没有要查找的数据,它返回的迭代器等于end()
函数返回的迭代器。获取的迭代器iterator
数据类型是一个std::pair
对象,包括两个数据 iterator->first
和 iterator->second
分别代表关键字和存储的数据。
3.map中的swap不是一个容器中的元素交换,而是两个容器所有元素的交换。
4.map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。
5.map底层由红黑数实现,所以可以根据key值快速查找记录,查找的复杂度基本是Log(N)
更多:
1.C++中的STL中map用法详解
2.C++ Map常见用法说明