美文网首页
C++ STL:unordered_map

C++ STL:unordered_map

作者: 龙虾1991 | 来源:发表于2020-04-04 21:06 被阅读0次

    背景:

    hash_map 不是C++ 11 的标准

    在vc中编译时:

    #include<hash_map>usingnamespce stdext;hash_map myhash;

    在GCC中编译时:

    #include <ext/hash_map>

    using namespace _gnu_cxx;

    hash_map<int, int> myhash;

    unordered_map:

    在c++11 中, 加入了undered 系列的容器。undered_map 记录原始的hash值, 根据hash值判断元素是否相同。

    查找,插入时:unordered_map > hash_map > map;

    空间复杂度: hash_map < unordered_map < map;

    unoedered_map 模板:

    template            //hasherclassPred=equal_to        //key_equalclassAlloc=allocator>    //allocator_typr>classunordered_map;

    unoedered_map 迭代器:

    迭代器是一个指针, 指向这个元素。

    unordered_map::iterator it;(*it).first;//the key value(key_type:Key)(*it).second;//the mapped value(mapped_type:T)(*it);//the element value(type pair<const Key, T>)

    它的键值分别是迭代器的first和second属性。

    undered_map 成员函数:

    ------------迭代器:

    begin:    返回只想容器的起始位置迭代器(iterator)

    end:       返回只想容器的末尾位置迭代器

    cbegin:   返回指向容器起始位置的常迭代器(const_iterator)

    cend:      返回指向容器末尾位置的常迭代器

    -------------Capacity

    size:             返回有效元素个数

    max_size:    返回unordered_map 支持的最大元素个数

    empty:          判断是否为空

    -------------元素访问:

    operator[]:           访问元素

    at:                        访问元素

    -------------迭代器修改:

    insert:        插入元素

    erase:         删除元素

    swap:       交换内容

    clear:          清空内容

    emplace     构造以及插入一个元素

    emplace_hint 按照提示构造以及插入一个元素

    --------------------迭代器操作

    find:        通过给定主键查找元素 ,没有找到: 返回unordered_map::end()

    count:     返回匹配给定搜索值得元素得个数(可以看出, key值可以重复)

    equal_rang:   返回值匹配给定搜索值得元素组成范围

    ------------------Buckets

    bucket_count:            返回槽(Bucket)数

    max_bucket_count:    返回最大槽数

    bucket_size:               返回槽大小

    bucket:                     返回元素所在槽序列号

    load_factor:                 返回载入因子, 即一个元素槽(Bucket)的最大元素数

    max_load_factor:        返回或者设置最大载入因子

    rehash:                        设置槽数

    reserve:                        请求改变容器数量

    相关文章

      网友评论

          本文标题:C++ STL:unordered_map

          本文链接:https://www.haomeiwen.com/subject/nlpsphtx.html