1、set(集合)map(映射)都属于关联类容器
都支持查询一个元素是否存在并能够有效地获取元素。
set集合的元素总是从小到大排列,set集合通过二分查找树实现。它具备以下两个特点:
①:独一无二的元素:不存在两个值相等的元素
②:元素值就是关键字本身
2.#include
using namespace std;
set::iterator it;
int a[]={1,2,3,4,5};
sets2(a,a+5);
for(it=s2.begin();it!=s2.end();it++){
cout<<" "<<*it;
}
3.lower_bound():返回第一个不小于元素x的迭代器;
upper——bound():返回第一个大于x的迭代器;
以上两个函数都可以使用二分法实现。
1.map也是一种关联容器,也是用来存取数据的,数据的组成包括两部分:数据值和关键字;关键字用来唯一的标识数据元素。
2. map:iterator it;
map first;
first['a']=10;
for(it=first.begin();it!=first.end();it++){
cout<<(*it).first<<" "<<(*it).second;
//first,second分别是关键字和数据值。
}