文章 2022-11-25 来自:开发者社区

【C++】STL——priority_queue的使用及模拟实现

一、priority_queue的简介1. 优先级队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。2. 类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。3. 优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类queue提供一组特定...

【C++】STL——priority_queue的使用及模拟实现
文章 2022-11-25 来自:开发者社区

【C++】STL——stack&queue模拟实现

一、deque的简单介绍 1.deque的物理结构         deque是一种双向开口的连续性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作。2.deque的内部结构        deque并不是真正...

【C++】STL——stack&queue模拟实现
文章 2022-11-25 来自:开发者社区

【C++】STL——stack&queue的基本使用

stack一、stack简介        stack是一种先进后出的数据结构。它只有一个出口,如下图所示。stack允许新增元素、移除元素、取得栈顶元素。但除了最顶端外,没有任何方法可以存取stack的其它元素。换言之,stack不允许有遍历行为(即stack没有迭代器)。二、stack的定义方式  sta...

【C++】STL——stack&queue的基本使用
文章 2022-11-25 来自:开发者社区

【C++】STL——list模拟实现(2)

五、list结构的完善         上面我们对节点结构、正向与反向迭代器结构实现原理及注意点一一做了介绍,最后一步也是最重要的一步,那就是将list结构完善起来,实现list的功能。1.构造函数        list的成员变...

【C++】STL——list模拟实现(2)
文章 2022-11-25 来自:开发者社区

【C++】STL——list模拟实现(1)

实现思路  List是一个类模板,实际上是一个双向循环链表。在上一篇list基本使用的博客中,可以发现list支持了像vector一样的"下标访问",也就是通过迭代器区间去访问链表的每个节点数据。本人在初学阶段也是比较好奇——list的迭代器(正向与反向)是如何实现的;本篇博客将以自己所掌握的知识...

【C++】STL——list模拟实现(1)
文章 2022-11-25 来自:开发者社区

【C++】STL —— list的基本使用

一、list容器的简介1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2. list的底层是 双向链表结构 ,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3. list与forward_list非常相似:最主要的不同在于forward_list...

【C++】STL —— list的基本使用
文章 2022-11-25 来自:开发者社区

【C++】STL——vector模拟实现(2)

四、容量相关的函数1.size和capacitysize_t size() const { return _finish - _start;//返回的是容器中有效数据的个数 } size_t capacity() const { return _end_of_storage - _start;//返回的是容器的实际有效容量 }2.reservereserve增容:...

【C++】STL——vector模拟实现(2)
文章 2022-11-25 来自:开发者社区

【C++】STL——vector模拟实现(1)

实现框架一、基本的结构雏形 首先我们将所需的成员变量一一罗列出来//为了避免和库里的vector产生冲突,在自己的命名空间内实现vector namespace vec { template<class T>//通过模板能够实现不同类型的数据存储 class vector { public: typedef T* iter...

【C++】STL——vector模拟实现(1)
文章 2022-11-25 来自:开发者社区

【C++】STL —— vector基本使用

思维导图(建议收藏,复习小宝贝)一、vector容器简介 vector是C++标准模板库中的部分内容,中文偶尔译作"容器",但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型...

【C++】STL —— vector基本使用
文章 2022-11-25 来自:开发者社区

【C++】STL——string模拟实现(2)

四、字符串访问函数1.operator[ ]() [ ]运算符重载是为了让string类能够实现下标的访问//可读可写 char& operator[](size_t pos) { assert(pos < _size); return _str[pos]; } //可读不可写 const char& operator[](s...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注