C++ map

map的键和值可以是不同的类型,键是唯一的,每个键都对应一个值。multimap与map类似,只是允许一个键对应多个值。map可被当做哈希表使用,它建立了从键(关键字)到值的映射。

map是键和值的一一映射。

multimap是一对多映射。

使用map或multimap时需要引入头文件

#include

map的迭代器和set类似,支持双向访问,不支持随机访问,执行一次“++”和“--”操作的时间复杂度均为O(logn)。默认的元素顺序为升序也可以通过第3个模版参数设置为降序。

map a;
map > b;

上述map模版的第1个参数为键的类型,第2个参数为值的类型,第3个可选,用于对键进行排序的比较函数或对象。

在map中,键和值是一对数,可以使用make_pair生成一对数(键,值)进行插入。

a.insert(make_pair(s,i));

输出时可以分别输出第一个元素(键)和第二个元素(值)

for(map::iterator it=a.begin();it!=a.end();it++){
    cout<first<<"\t"<second<

成员函数

你可能感兴趣的:(c++,算法,数据结构)