Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
【unordered_map和unordered_set的封装】
文章目录 1 哈希表的基本改造 2 迭代器 2 1 迭代器的大致框架 2 2 运算符重载的实现 2 3 哈希表的完善 3 unordered map和unordered set的封装 3 1 unordered map 3 2 unorde
C进阶
数据结构
算法
unordered系列
【map和set的封装】
文章目录 前言 1 大致框架 2 迭代器 3 map和set的封装 前言 上篇博客已经讲解了红黑树插入的模拟实现 这篇文章的目的是利用上节课讲解的底层实现来封装map和set 参考代码借鉴的是STL SGI版本3 0 1 大致框架 首先我们
C进阶
链表
数据结构
算法
map和set的封装
【C++11】智能指针的定义 和 种类 及 使用
智能指针 定义 为什么需要智能指针 在C 中 动态分配内存是一项常见的任务 但手动管理分配和释放内存可能会导致很多问题 如内存泄漏 悬垂指针以及多次释放同一块内存等 为了避免这些问题 引入了智能指针的概念 它们提供了自动化的内存管理 以下是
C进阶
c
Java
Android
二、C++语言进阶:动态库与静态库之函数篇
2 动态库与静态库之函数篇 作用 分离编译 代码重用 分类 分类 作用 后缀 静态库 一个或多个 o目标文件归档在一个文件中 a 共享库 没有main函数的可执行文件 so 动态加载库 没有main函数的可执行文件 接口复合API so 2
C进阶
c
开发语言
C++的std::move()
std move 是 C 标准库中的一个函数模板 用于将对象转换为右值引用 以便支持移动语义 它位于
C进阶
c
开发语言
C++的std::for_each()
当给定一个容器范围 我们通常需要对其中的每个元素执行相同的操作 这样的操作可能包括打印元素 修改元素的值或应用一个自定义函数等等 在 C 标准库中 std for each 算法函数提供了一种方便的方式来对容器范围内的元素执行指定的操作 s
C进阶
c
开发语言
【C++11】右值引用和移动语义 万能引用和完美转发
文章目录 1 右值引用和移动语义 1 1 左值引用和右值引用 1 2 右值引用的使用场景 1 3 新的类功能 2 万能引用与完美转发 2 1 万能引用的基本介绍和使用 2 2 完美转发 2 3 完美转发的实际应用场景 3 可变参数模板 3
C进阶
c
开发语言
后端
面试
C++ 哈希桶模拟实现(补充)
目录 定义基本的存储结构 Insert 和Find Erase 如何控制哈希冲突 Insert 中添加扩容操作 其他问题的解决 UnorderedMap h和UnorderedSet h 迭代器实现与UnorderedMap h和Unord
C进阶
c
哈希算法
开发语言
C++红黑树(图文详解)
原文链接 文章目录 红黑树简介 红黑树的性质 红黑树操作 旋转操作 插入 情况一 情况二 情况三 情况四 情况五 插入总结 删除 情况一 情况二 情况三 情况四 情况五 情况六 删除总结 总结 红黑树简介 红黑树是一种自平衡的二叉查找树 是
C进阶
数据结构
算法
c
【位图&&布隆过滤器&&海量数据面试题】
文章目录 1 位图 2 布隆过滤器 1 位图 首先我们来看看一个腾讯的面试题 给40亿个不重复的无符号整数 没排过序 给一个无符号整数 如何快速判断一个数是否在这40亿个数中 分析 40亿个不重复整形数据 大概有160亿字节 也就是16GB
C进阶
面试
海量数据处理
布隆过滤器
位图
«
1
2