sinat_26447335
sinat_26447335
采纳率40%
2016-03-21 15:44 阅读 6.7k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2016-03-21 15:47

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

    点赞 1 评论 复制链接分享
  • helloworld_ptt 才不是本人 2018-07-25 10:16

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

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2016-03-22 01:58

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

    点赞 评论 复制链接分享

相关推荐