C++ pair/map/set 基本用法

3 篇文章 0 订阅

1. pair

initialize:

pair<int, int> p1 = {6, 8};

pair<string, int> p2("tom", 24);

 

p1.first = 10;

cout << p1.first << " " << p1.second; //10 8

2. map

1):map则是一个容器,里面存储的是 pair对象。但存储的方式与vector<pair>这种 连续存储有所不同, map采用的是 二叉排序树存储pair,一般是红黑树。

2):map使用下标访问时,如果 key不存在,那么会在map 中自动添加一个新的pair,value为默认值。

性能分析:由于map采用二叉排序树(红黑树),树的高度不超过 [logN] +1。所以 插入和查询时间复杂度 为  O(lgN);

注意:使用insert插入map元素时,如果失败,则不会更新原来的值。

 

map<string, int> m;

m["beijing"] = 2000;

m["shanghai"] = 1500;

 

reference: https://www.cnblogs.com/xfxu/p/3992420.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值