STL之map

Map是一个关联容器,它内部有两个数据,第一个(first)称为关键字(key),第二个(second)称为关键字的值(value),key与value二者是一一对应的(称为pair),且key在map中关键字是唯一的。map内部自建一颗严格意义上的平衡二叉树,对数据有排序功能,因此,map内部数据都是有排序的(less或greater)。

屏幕快照 2017-04-21 下午9.00.09

\(maps和multimaps\)的内部结构采用二叉平衡树来完成:
屏幕快照 2017-04-20 下午5.06.09

\(maps和multimaps\)根据关键字自动排序,所以根据 \(key\) 来查找效率比较高,根据value值来查找性能就很糟糕。同时不可以直接改变元素的 \(key\) ,因为这会破坏正确的次序。必须先删除拥有 \(key\) 的值的元素,然后插入新的\(key/value\)对


  • 构造函数

屏幕快照 2017-04-21 下午9.21.43


非修改性操作
屏幕快照 2017-04-21 下午9.13.46


特殊查找操作:
屏幕快照 2017-04-21 下午9.18.17


赋值操作:
屏幕快照 2017-04-21 下午10.27.07


屏幕快照 2017-04-21 下午10.37.32

在map和multimap中,所有元素的key都被视为常量,因此key的实质类型是pair<const key,T>

posted @ 2017-04-20 16:36  I呆呆  阅读(388)  评论(0)    收藏  举报