小菜鸡对map的理解

map是key-value的对应关系。

平时用的话,假如k-v都是int型,那么map<int,int> tmp即可。
map是自动有序的,是根据key递增的顺序进行排序的。

内部实现的简单化理解

可以把map想象成两部分:
第一部分-pair<int,int> buf这一部分是key-value;
第二部分-搜索二叉树,节点为pair类型。

假设现在有<3,4>,<4,10>,<7,6>,<6,4>,<4,2>
最开始搜索树是空的,建立根节点<3,4>;
下一个<4,10>的key=4>3,所以<4,10>为根节点<3,4>的右子树;
同理,<7,6>为<4,10>的右子树;
而6<7,所以<6,4>为<7,6>的左子树。
4出现在<4,10>的节点上,所以用2替换10;

FullSizeRender1.jpg

标签: none

添加新评论