本文将带你穿越C++容器的迷雾森林:从vector动态扩容的数学玄机,到emplace_back比push_back快在哪的微观真相;从红黑树与哈希表的世纪对决...
优先队列使用vector作为底层容器,并且在vector中加入堆算法,将vector构造成了一个堆,所以可以说优先队列就是一个堆,所以在碰见堆的时候就要想到优先...
因为我们是将stack写成一个自定义类型,所以构造函数、析构函数都不需要我们自己写,编译器会自动调用。
在开始讲解list的常见接口之前,我们先来了解一下list中的迭代器:list中的指针是一个自定义类型的指针,该指针指向list中的某一个节点。
问题引入 在上一篇文章中我们详细讲解了vector的常见接口及其模拟实现,大家可以自行参阅:【C++】STL--Vector使用极其模拟实现,但是我们在接口...
vector在日常的使用非常广泛,我们应该熟悉它的常用接口。接下来我们从基础的接口开始,学会它的使用及模拟实现。
前言:在上一篇文章中,我们介绍了二叉搜索树这种树形结构,它与之前学过的序列式容器有所不同。本文将重点讲解基于二叉搜索树实现的另外一个容器:map。它的底层实现...
前言:在上一篇文章中,我们介绍了二叉搜索树这种树形结构,它与之前学过的序列式容器有所不同。本文将重点讲解基于二叉搜索树实现的两个容器之一:set。它的底层实现...
👁️注意:使用向下调整建堆是因为向下调整建堆O(n)的效率高于向上调整建堆O(logn)。
前言:在上一篇文章中我们探讨了list的模拟实现,本篇将继续学习另外两种重要容器——栈和队列。虽然在之前学习C语言的时候中已经接触过stack(栈)和queu...
前言:在上一篇文章中,我们深入探讨了vector的底层原理。今天,让我们一起来认识另一个重要容器 - list。理解一个容器的最佳方式是从它的接口入手,下面我...
以上就是模拟实现的vector的基本框架,成员变量就是_start、_finish、_endofstorage这三个指针。下面就正式的进入vector的模拟实现...
注意:const迭代器,使用用const修饰底层的char,也就是修饰底层的元素不能修改。*
声明:下面各种成员函数和非成员函数的参数返回值,可以去string文档中查询,链接:cpluspuls.com
STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的
本文系统性地介绍了基于红黑树的关联容器实现过程,详细阐述了红黑树节点结构、迭代器设计、平衡调整算法等核心组件的开发,重点分析了map和set容器的封装技术及关键...
二叉搜索树(BST)是一种重要的数据结构,它通过"左子树所有节点值小于根节点,右子树所有节点值大于根节点"的特性实现高效的元素组织。本文详细解析了BST的核心概...
在 STL 的容器家族里,deque(双端队列)就像一个“全能型选手”。它既能像 vector 一样支持随机访问,又能像 list 一样在两端高效插入删除。虽然...