
STL
文章平均质量分 97
Forcible Bug Maker
大二在读,阿里云乘风者计划专家博主,乐于分享平时学习到的技术知识,希望和众大佬们交流学习。合作或交友,都欢迎来加我 qq:3964089684 vx:fbm3964089684
展开
-
【C++】map的使用
本篇博客主要内容:STL库中map的介绍以及其用法的讲解。set和map的底层结构是红黑树,而红黑树又是一种特殊的二叉搜索树(红黑树可以保持树的平衡)。而我们今天来学习什么是map,以及如何使用map这个容器。【数据结构进阶】二叉搜索树本篇博客我们介绍了STL库中的map和multimap,以及map成员函数接口的使用。multimap支持数据冗余,可以存在多个相同的key对应不同的value;而map中,只有唯一的key。STLC++原创 2024-07-26 20:51:30 · 705 阅读 · 8 评论 -
【C++】set的使用
本篇博客主要内容:STL库中set的介绍以及其用法的讲解。set和map的底层结构是红黑树,而红黑树又是一种特殊的二叉搜索树(红黑树可以保持树的平衡)。而我们今天来学习什么是set,以及如何使用set这个容器。【数据结构进阶】二叉搜索树本篇博客我们介绍了STL库中set和multiset,以及set成员函数接口的使用。multiset支持数据冗余,而set中的值(value)是唯一的。STLC++原创 2024-07-24 18:34:35 · 3440 阅读 · 56 评论 -
【C++】stack和queue的模拟实现 && 双端队列deque的介绍
本篇博客的主要内容:STL库中stack和queue的模拟实现以及deque的介绍。这部分是名副其实的奖励内容了,stack和queue作为容器适配器,是基于一些容器实现(如:vector,list以及deque)。内部结构实现起来很容易,但是需要多多关注模板的一些使用。deque作为容器,也被我们叫做双端队列,常用作栈和队列的底层适配容器。原创 2024-07-08 11:52:42 · 1842 阅读 · 71 评论 -
【C++】stack和queue的使用
本篇博客主要内容:STL库中stack和queue的介绍以及两者用法的讲解。stack中文名是栈,queue中文名是队列,就是之前咱们数据结构部分中学到的。关于介绍部分我们就不深究了,可以借鉴我之前的内容,了解其底层逻辑。初阶数据结构-栈和队列上文中讲到了stack和queue的应用,这两者都是容器适配器,在下一篇关于stack和queue底层实现的讲解里,我们会更详细的讲解其中的内容。本次的内容在前面的基础上学起来容易非常多,但掌握这些工具的用法还需要勤加练习。STLC++原创 2024-07-06 20:33:28 · 1029 阅读 · 47 评论 -
【C++】list模拟实现
本篇博客主要内容:STL库中list的模拟实现。实现list就和之前的vector和string大不相同了,vector和string的底层结构是顺序表,而list的底层是链表,学习list初阶数据结构-顺序表和链表(C语言)本篇的list实现中,迭代器的实现是重难点,它不再和以前的实现一样,只是单纯的原生指针,而是一个迭代器模板类。希望大家在了解list迭代器的实现之后,能对STL库中容器的迭代器有着更深的认识。原创 2024-06-05 22:28:06 · 2932 阅读 · 97 评论 -
【C++】list的使用(下)
本篇博客主要内容:STL库中list用法的讲解。让我们接着上一篇博文的内容继续,进入list最后一个模块,操作list对象的接口函数。本篇文章所讲到的list内容出自于同一个模块,由于其排序和合并的方式涉及到了仿函数的传递,所以内容和篇幅稍微会大一些。相信学完本篇内容之后,能对list的使用和C++有更充分的了解。♥STLC++原创 2024-06-01 17:50:53 · 1554 阅读 · 64 评论 -
【C++】list的使用(上)
本篇博客主要内容:STL库中list的介绍以及list用法的讲解。我们已经知道,string和vector的底层都是简单的顺序表,而list的底层就和之前的两个大不相同了,list的底层是一个带头双向循环链表。初阶数据结构-顺序表和链表(C语言)在C++中,我们可以直接使用list创建链表。本篇博客给大家初步介绍了list,其底层是一个双向循环链表,讲解了list的一些函数接口,如修改器,元素访问,以及迭代器接口的使用方式。原创 2024-06-01 17:45:20 · 1965 阅读 · 89 评论 -
【C++】vector模拟实现
本篇博客主要内容:STL库中vector的模拟实现。在之前完成string以及学习了vector一些接口函数的基础上,这个vector的实现相当于是一个奖励内容,并不困难。不过我们这里vector底层实现和上次string的有所不同,是通过三个指针_start_finish和来维护这个模板类的。相信在看完今天vector的实现之后,能对C++的迭代器有更深的了解。本篇博客主要介绍了vector常用接口的实现,包括迭代器以及迭代器接口,元素的插入和删除,以及各种默认成员函数的实现。♥STLC++原创 2024-05-27 19:20:00 · 1901 阅读 · 162 评论 -
【C++】vector的使用
本篇博客主要内容:STL库中vector的介绍以及vector用法的讲解。在string部分,我们讲了很大篇幅的内容,一部分原因是因为初次接触STL,当你理解一个时,就会发现其他的内容都是相通的;另一原因就是,string所提供的接口确实太多。本篇将要介绍和讲解的vector,算是string学习的奖励内容,它的本质是我们所实现的动态顺序表。初阶数据结构-顺序表和链表(C语言)在C++中,一般不用数组,而使用vector。原创 2024-05-22 20:17:05 · 2092 阅读 · 182 评论 -
【C++】string模拟实现
本篇博客主要内容:实现string类的基本功能。string使用很快就讲完了,但是光会用string还不够,在面试中,面试官总喜欢让我们自己来模拟实现string类,包括string类的构造、拷贝构造、赋值运算符重载以及析构函数等等内容。所以,我认为string类的自实现还是有必要讲一下的。本篇博客主要介绍了string类常用接口的实现,包括默认成员函数,迭代器,字符和字符串的插入删除等等内容。♥STLC++原创 2024-05-18 20:30:39 · 2034 阅读 · 188 评论 -
【C++】string类的使用④(字符串操作String operations || 常量成员Member constants)
本篇博客主要内容:STL库中string的字符串操作(String operations)和常量成员(Member constants)。来到string类的使用第四篇,继续我们的内容,本篇博客将着重介绍如何使用string类提供的接口函数去查找和获取字符串的内容;同时还会讲一个定义在string类中的常量成员(npos)。本篇也将是string类使用的收尾篇。本篇博客,介绍了关于string的字符串操作,可以查找和获取字符串的相关内容;原创 2024-05-13 21:05:02 · 1530 阅读 · 176 评论 -
【C++】string类的使用③(修改器Modifiers || 非成员函数重载Non-member function overloads)
本篇博客主要内容:STL库中string的修改器(Modifiers)和非成员函数重载(Non-member function overloads)。来到string类的使用第三篇,继续我们的内容,本篇博客将介绍如何使用STL库中string的成员函数修改串,以及重载给string的几个非成员函数。本篇博客,介绍了关于string的修改器,能修改string串中的内容;以及非成员函数的重载,实现了一些成员函数无法完成的功能和任务。♥STLC++原创 2024-05-11 20:00:36 · 1352 阅读 · 158 评论 -
【C++】string类的使用②(容量接口Capacity || 元素获取Element access)
本篇博客主要内容:STL库中容量接口(Capacity)和四种string串中元素获取方式(Element access)的介绍和使用。来到string类的使用第二篇,让我们接着上一篇来讲。本篇博客,介绍了9个容量接口(Capacity),它们有查询string串长度和更改长度的(size,length,resize),也有查询容量和更改容量的(capacity,reserve),和清理的(clear)。原创 2024-05-09 22:02:07 · 2026 阅读 · 157 评论 -
【C++】STL简介
STL简介。开始学习STL之前,是不是得先知道STL是个什么东西,以及如何学习STL呢?话不多说,开始我们今天的内容!是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。本篇博客主要介绍了有关STL的历史,主流版本,六大组件,以及其优缺点和学习方法等内容。希望能帮助到大家。♥C++原创 2024-05-03 20:12:40 · 4624 阅读 · 182 评论 -
【C++】string类的使用①(默认成员函数 || 迭代器接口begin,end,rbegin和rend)
本篇博客主要内容:STL库中string类的默认成员函数和各种迭代器接口的介绍和使用。在开始我们string类使用接口的讲解之前,想先讲讲为什么我们要学习string类。在C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。简单说,string就是C++STL标准库中便于维护和操作字符串的一个类。原创 2024-05-08 19:04:34 · 1546 阅读 · 147 评论