137.补充std::unordered_map

绝地灬酷狼 2023-05-28 11:15 16阅读 0赞

leetcode137题,遇到了实现LRU的管理缓存的题,现在来总结回顾一下关于unordered_map那些事儿~
c++11版本

定义在头文件 #include

是模板类,有自己的空间配置器,分配空间 std::pair,对于键值的比较使用std::equal_to(key).
具体:

  1. template<
  2. class Key, //搜索的键值
  3. class T, //value
  4. class Hash = std::hash<Key>, //底层
  5. class KeyEqual = std::equal_to<Key>, //key的比较
  6. class Allocator = std::allocator< std::pair<const Key, T> > //空间的分配
  7. > class unordered_map;

无序map是一个关系容器,包含了key-value对,键key唯一,对变量的查询,插入,删除有着O(1)常数时间。key在里面是无序的。底层是哈希。

  • 迭代器不会失效的场景:所有仅读的操作,swap,std::swap。
  • 成员函数集
    begin
    end
    empty
    size 已有的数量
    max_size 可容纳最大的数量
    clear 清除内容们
    insert 插入节点或变量(key/pair)
    erase
    swap
    rehash
    reserve

发表评论

表情:
评论列表 (有 0 条评论,16人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql 补充

    SQL语言定义了这么几种操作数据库的能力: DDL:Data Definition Language DDL允许用户定义数据,也就是创建表、删除表、

    相关 137. 雪花雪花雪花(hash)

    题目描述: 有N片雪花,每片雪花由六个角组成,每个角都有长度。 第i片雪花六个角的长度从某个角开始顺时针依次记为ai,1,ai,2,…,ai,6 。 因为雪花的形状

    相关 补充 -1

    1)A类网络的默认掩码是255.0.0.0,换算成二进制就是11111111.00000000.00000000.00000000;默认掩码意味着没有将A类大网(A类网络)再划