当前位置: 首页 > news >正文

从零开始手写STL库:Unordered_Map

从零开始手写STL库–Unordered_Map的实现

Github链接:miniSTL


文章目录

  • 从零开始手写STL库–Unordered_Map的实现
  • 一、unordered_map是什么?
  • 二、unordered_map要包含什么函数
  • 总结


一、unordered_map是什么?

如同unordered_set和set的关系,unordered_map和map底层也是不同的,unordered_map底层也是哈希表,同样只需要对实现过的哈希表做一次封装即可。

二、unordered_map要包含什么函数

如下:包括常用的插入、删除、查找、empty和size函数就行

template<typename Key, typename Value>
class myUnMap
{
private:myHashTable<Key, Value> hashtable;public:myUnMap() : hashtable() {}~myUnMap() {}bool empty() const noexcept { return hashtable.size() == 0; }size_t size() const noexcept { return hashtable.size(); }void clear() noexcept { hashtable.clear(); }void insert(const Key &key, const Value &value) {hashtable.insert(key, value);}void erase(const Key &key) { hashtable.erase(key); }bool find(const Key &key) { return hashtable.find(key) != nullptr; }Value &operator[](const Key &key) {Value *ans = hashtable.find(key);if (ans != nullptr) return *ans;hashtable.insertKey(key);ans = hashtable.find(key);return *ans;}
};

总结

更多的注意哈希表和红黑树的查找效率以及不同即可


http://www.mrgr.cn/news/38254.html

相关文章:

  • SpringBoot教程(安装篇) | Docker Desktop的安装(Windows下的Docker环境)
  • C++入门(2)--引用
  • FreeRTOS 内存管理源码解析
  • 使用VBA快速生成Excel工作表非连续列图片快照
  • 网页篡改防御方法
  • element-plus中el-table固定列fixed失效问题
  • 在LLMs模型中发现人类的记忆特征
  • nodejs 016: javascript语法——解构赋值({ a, b, c } = {})=>{console.log(“Hello“);}
  • linux编辑文件保存退出的实操讲解
  • 基于SpringCloud的微服务架构下安全开发运维准则
  • 微服务Redis解析部署使用全流程
  • Meta Sapiens 人体AI模型
  • 【设计模式】精通高级行为模式:揭秘状态、中介者及其它模式的深层机制
  • 【宝藏妙招,轻松拿捏!】如何防止U盘资料被复制?U盘文件防拷贝的五种措施!
  • Sharding-JDBC笔记03-分库分表代码示例
  • 【无人机设计与控制】基于蚁群算法的三维无人机航迹规划+无人机路径规划
  • 要想不被控制,就的金钱来买账,老板不是每个人能当的!
  • 2024版最新Wireshark安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了_wireshark 4.4.0安装要求
  • 【笔记】X射线的衍射方向
  • 98问答网是一个怎样的平台?它主要提供哪些服务?