vector<pair<int,int>>和map<int,int>有什么区别吗?

什么情况下用哪种,两种有什么区别吗?还是说本质一样,有详细的解释吗?

3个回答

map更方便,比如可以用key直接索引到value,自动初始化key项,所以针对这种特殊的需求,直接用map更好。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复sinat_26447335: map会按照key排序
4 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复sinat_26447335: 都不会。
4 年多之前 回复
sinat_26447335
sinat_26447335 map和vector哪个会对里面的元素进行自动排序,还是说都不排?之前网上有人解释成那样
4 年多之前 回复
sinat_26447335
sinat_26447335 map和vector哪个会对里面的元素进行自动排序,还是说都不排?之前网上有人解释成那样
4 年多之前 回复

map插入元素会自动排序,其本质是基于红黑树实现的,在查找元素和访问元素上面速度快,
vecotor的实现则是基于数组,,随机访问(下标访问)速度快.因为其不需要排序,所以在插入元素上比map要快
在c++STL中,序列式容器与关联式容器各有优势:
1.例如你要对pair元素进行value或者key的重新排序等操作就最好用vector>
2.如果只是通过key,寻找value,就用关联式容器,查找速度不是一般的快

map是字典类似,方便查找,vector是数组形式,但也支持随机访问。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐