map/set/multimap/multiset/unordered_map

map

  • map<key, value, compare>
    • map<int, string, less[int]> key的类型为int, value的类型为string,less[int]为按key的值从小到大排列
  • mp[key]
    • 如果key不存在则使用默认value与key构造键值对并插入
    • 如果key存在,则返回key对应的value值
  • map.insert(make_pair( , ));
    • map(make_pair(“abc”, 1);
    • map(make_pair(“abc”, 2);
    • 如果插入的key值相同,则值插入第一个
	map<char, int> mp;
	mp.insert(make_pair('a', 10));
	mp.insert(make_pair('a', 20));
	mp.insert(make_pair('a', 30));
	//值插入了'a' 10
  • map.first 返回key值 map.second 返回value值
  • map.find(key);在map中插入key为x的元素,找到返回该元素的位
    置的迭代器,否则返回end
    map.count(key) : 返回key为x的键值在map中的个数,返回 1 或 0

multimap

  • 可以插入相同key值的元素
  • 与map的接口基本一致
  • 没有[]操作
  • ret = equal_range(key) : ret.first 第一个key的位置, ret.second 最后一个key的下一个位置
    • ret 的类型为pair(multimap<T, T>::iterator,multimap<T, T>::iterator)

set

  • 无[]操作
  • 有序排列
  • 在底层存放的是由<value, value>构成的键值对
  • find(x) : 返回set中值为x的元素的位置
  • count(x) : 返回值为x的元素的个数
  • set可以去重

multiset

  • 存放相同key的元素
  • 与set接口基本一致

unordered_map/_set

unordered_multimap/_multiset

  • 元素无序排列

红黑树容器 有序 O(LogN)

map
multimap
set
multiset

哈希表容器 无序 O(1)

unordered_map
unordered_multimap
unordered_set
unordered_multiset

对应容器的接口基本一致

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值