c++ STL
文章平均质量分 93
C++ STL
沈清逸
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中std::set的深度解析:属性、方法、底层实现与性能优化
/ 自定义比较器实现// 使用示例// 不会插入重复元素// 实现自定义结构体的比较器int age;if (a.age!= b.age) {// 按年龄升序// 年龄相同按姓名// 使用示例// 正确插入(不同姓名)原创 2025-04-27 16:53:25 · 1101 阅读 · 0 评论 -
C++ unordered_map 深度解析:属性、方法、底层实现与扩容机制
int age;// 自定义哈希函数// 组合哈希:结合 name 和 age// 自定义相等比较// 查找if (it!哈希表核心:基于哈希函数和桶数组的链地址法实现性能权衡:平均 O(1) 复杂度 vs 哈希冲突时的 O(n) 退化无序特性:不适合需要有序遍历的场景动态扩容:自动维护负载因子在合理范围。原创 2025-04-27 15:45:52 · 1576 阅读 · 0 评论 -
C++ multimap 深度解析:属性、方法、底层实现与扩容机制
);/* 输出(不区分大小写排序):apple: 10Apple: 20BANANA: 30*/有序键值存储:自动按键排序允许重复键:适合一对多关系高效查找:基于红黑树的对数时间复杂度内存效率:相比vector有额外树结构开销。原创 2025-04-27 15:05:56 · 1066 阅读 · 0 评论 -
C++ vector 深度解析:属性、方法、底层实现与扩容机制
/ 自定义比较函数});连续内存:缓存友好,访问高效动态扩容:自动管理内存尾部操作高效:适合作为栈使用中间操作低效:插入/删除需要移动元素resize():用于调整向量的大小,可以扩展或缩小向量,新增元素可以选择性地初始化。reverse():用于反转向量中元素的顺序,可以反转整个向量或向量的一部分。原创 2025-04-27 14:28:29 · 1358 阅读 · 0 评论 -
C++ list 深度解析:属性、方法、底层实现与扩容机制
/ 自定义比较函数});高效插入/删除:适合频繁修改的场景无随机访问:需要顺序访问内存开销大:每个元素需要额外存储指针。原创 2025-04-27 13:41:48 · 965 阅读 · 0 评论 -
C++ map 深度解析:属性、方法、底层实现与扩容机制
int age;// 按年龄排序// 输出(按年龄升序):5.2 多索引实现通过组合多个mapint id;// 按ID索引// 按姓名索引// 通过姓名查找if (it!5.3 并发场景扩展Java 中的TreeMap通过// 生产者线程i < 10;// 消费者线程i < 10;六、总结与最佳实践有序性:基于红黑树实现,支持范围查询唯一键。原创 2025-04-27 12:52:47 · 1160 阅读 · 0 评论 -
C++ deque 深度解析:属性、方法、底层实现与扩容机制
高效两端操作:头部/尾部插入/删除均为O(1)分段连续存储:平衡内存局部性与动态扩展性复杂迭代器设计:支持跨缓冲区遍历的特殊实现。原创 2025-04-27 11:35:09 · 1357 阅读 · 0 评论
分享