高放的c++学习笔记之关联容器

标准库提供8个关联容器

按关键字有序保存有(红黑树实现)

set

map

multset            关键字可重复出现的set

multimap            关键字可重复出现的map

无序保存           哈希实现

unorderred_map

unorderred_set

unorderred_multimap

unorderred_multiset

map是一个个pair类型组成

  map<int, int>mp;
  for(auto i : mp){

    printf("%d %d\n", i.first, i.second);
  }

向map中添加元素的方法除了常用的类似与数组的方式(mp[i] = x)还有如下方式

mp.insert(pair)

set能直接insert(区间),例如

multiset<int> s;
for(int i = 10; i >= 0; i--){
  s.insert(i);
  s.insert(i);
}
set<int> ss(s.cbegin(), s.cend());

 

插入元素

map具有insert功能,插入的要是一个和关键字与值相对应类型的pair;

例如map<T1, T2>那么插入的pair类型也应该是<T1, T2>类型;

map的insert返回一个pair类型,first是一个指向插入节点的迭代器,second是一个bool类型,代表是否插入成功,如果本来在map里面有key的话就插入不成功。

set与map相类似,只不过插入的不是pair而只是一个符合set容器的值;

以上只符合插入的是单点的情况,即set插入一个变量,map插入pair,对其他情况并不适用。

转载于:https://www.cnblogs.com/icodefive/p/4919001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值