话接上篇,本文将对优先级队列和迭代器进行详细讲解并模拟实现,其中优先级队列的实现涉及了仿函数等新的知识,因此本文难度会有所提升。
本文,我们接着学习STL的适配器。C++中的适配器主要分为三类:容器适配器、迭代器适配器及函数适配器。
上次介绍完二叉搜索树后,更新中断了一段时间,先向大家致歉。最近学习状态有些起伏,但我正在努力调整,相信很快会恢复节奏。今天我们继续深入探讨——关...
C++ 标准模板库(STL)是现代 C++ 的核心部分之一,为开发者提供了丰富的预定义数据结构和算法,极大地提升了编程效率和代码的可读性。理解和掌握 STL 对...
队列是一种容器适配器,专门用在具有先进先出操作的上下文环境中,其只能从容器的一端插入元素,另一端提取元素。
由于set和map的底层数据结构是二叉搜索树的变形——红黑树,因此我们这里先了解set和map的使用,当我们学习了红黑树之后再去讲一讲如何自己去实现set和ma...
STL(standard template libaray)叫做标准模板库,是C++标准库的重要组成部分。上一章我们讲解了模板,那么通过这个名字我们可以知道ST...
注: find函数是头文件“algorithm”当中的一个函数,该函数在指定迭代器区间寻找指定值的位置,并返回该位置的迭代器。
栈与队列是常见的数据结构,常被用于不同的算法场景。在本文中,我们将详细探讨栈与队列的基本概念、实际应用及其模拟实现。栈和队列在日常开发中的重要性不言而喻,通过对...
嘿,程序员们!👋 今天我们要揭秘C++中最牛的数据结构之一——红黑树!相信很多小伙伴对map和set的内部实现一直很好奇,今天我们就一起"解剖"它们!💪
对于vector,迭代器失效是当vector进行扩容是,原迭代器还指向就空间的位置,没有更新,所以导致失效,如果像正常访问这个迭代器,就需要更新一下迭代器的位置
上篇文章我们学习了vector,本文开始学习list。 list即为数据结构中的链表,我们在学习初阶数据结构的时候已经学习过他的结构了并用C语言实现了他,。我...
reserve规则: 1、当所给值大于容器当前的capacity时,将capacity扩大到该值。 2、当所给值小于容器当前的capacity时,什么也...
看了前面的底层封装后,其实封装的过程及方法都大差不差,unordered_map && unordered_set 也是如此,所以本篇就简单提及一些细节,具体最...
本文核心内容为vector的介绍及使用和对vector的模拟实现。本文包含很多易错点,都是我在学习vector过程中踩过的坑。因为自己淋过雨,希望可以为你们撑一...
string& append (const string& str); string& append (const char* s); string& ap...
该类是一个模板,接受两个参数: T:存储在栈中的元素类型。 Container:底层容器类型,用于管理栈元素的存储。 这种设计使我们能够自定义底层的存储容...
前面在模拟实现 vector 、 list 、 map 、 unordered_map 等容器时,所有需要空间的地方都是通过
在 C++ 标准库中,vector 是最常用的动态数组容器,它提供了高效的元素存储和访问能力。
map、set 的封装可以说是很天才的底层结构了,本篇将对其结构进行详细的解析,虽然会很复杂且难以理解,但是学完成就感满满,而且对底层理解和面试很有帮助