![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++ STL 30篇拿下
C++ STL 30篇拿下
Galaxy银河
来自浙江温州的一位初一学生。2022年底开始发布文章。兴趣爱好是c++,有时也学学python和Java。2023年中,开始研究计算机人工智能,接触docker,git和restful等。文章曾入选《云原生领域内容榜》第23名,《C/C++领域内容榜》第4名,也曾登上《前沿技术领域内容榜》第2名,《人工智能领域内容榜》第24名。文章还曾被武汉开发者社区、华为开发者联盟HarmonyOS专区、华为云开发者联盟、西安城市开发者社区、云原生技术专区和AI技术专区收录。
展开
-
STL(第八课):map
STL map是C++标准库中的容器,它是一种关联容器,也就是说,它的元素是按照键值来存储的。STL map以键值对的形式来存储数据,每个键对应一个值。map中的每个元素都是一个pair对象,pair第一个元素为键,第二个元素为值。map内部使用红黑树数据结构来实现,这种数据结构具有自动排序的功能,map中的元素总是按照键值升序排列。可以使用迭代器访问map中的元素,也可以使用下标操作符来访问元素。map还提供了许多其他的操作方法。原创 2023-11-05 10:16:45 · 137 阅读 · 0 评论 -
STL(第七课):set
最后,我们删除了set中的元素4,并再次遍历元素并输出。可以看到,删除元素后set中剩余的元素仍然按照一定的顺序排列,并且没有重复元素。可以将set看作一个集合,该集合中的元素按照一定的关键字有序排列,并且每个元素只出现一次。STL set的用法和其他STL容器类似,可以使用迭代器访问集合中的元素,也可以使用STL算法库提供的算法对集合中的元素进行操作。遍历元素:可以使用迭代器遍历set中的所有元素,也可以使用STL算法库提供的算法对元素进行遍历和操作。原创 2023-11-05 08:22:07 · 165 阅读 · 0 评论 -
STL(第六课):stack
STL中的stack是一种后进先出(Last In First Out,LIFO)的数据结构,它可以使用标准库中的模板类。Stack主要支持两个操作:push(入栈)和pop(出栈)。在入栈操作时,元素被添加到栈的顶部;在出栈操作时,栈顶元素被移除。T是元素的类型,而Container是底层容器的类型,默认情况下底层容器是。原创 2023-11-04 20:07:31 · 234 阅读 · 0 评论 -
STL(第五课):queue
STL(标准模板库)是一种C++标准库,在其中包含了许多常用的数据结构和算法。其中,queue就是STL库中的一个数据结构,用于实现队列(先进先出FIFO)。使用STL queue,需要引入头文件。原创 2023-11-04 20:03:54 · 193 阅读 · 0 评论 -
STL(第四课):deque
STL deque中的元素存储在连续的内存块中,一般由多个缓冲区组成,每个缓冲区的大小固定。当插入元素时,如果当前缓冲区已满,则新增一个缓冲区并将元素插入到新缓冲区的开头;当删除元素时,如果当前缓冲区只剩下一个元素,则删除该元素并释放该缓冲区。STL deque是标准模板库(STL)中的一个容器,deque是“double-ended queue”的缩写,它是一种双端队列的数据结构,允许在两端进行插入和删除操作。原创 2023-11-04 20:01:58 · 171 阅读 · 0 评论 -
STL(第三课):list
STL中的list是一个双向链表,它可以动态地将元素插入和删除,提供了许多方便的操作接口。下面我们来讲解一下C++STL list的相关内容。list的创建比较简单,只需要包含头文件。是一个迭代器,代表list中的某一个元素。模板即可声明一个list对象。原创 2023-11-03 21:38:25 · 536 阅读 · 0 评论 -
30天拿下STL
第2-10天:逐一学习STL提供的容器类型,包括vector、list、deque、queue、stack、set、map等,掌握它们的特性、使用方法和常见操作。第16-20天:学习STL提供的常用算法,如排序、查找、遍历、复制、插入等,了解它们的使用方法和应用场景。第11-15天:深入学习迭代器的定义、种类和使用方法,熟悉迭代器与容器的关系,掌握迭代器的常见操作。第21-25天:学习函数对象的概念、种类和使用方法,能够编写自定义的函数对象。原创 2023-11-03 21:21:15 · 119 阅读 · 0 评论 -
STL(第二课):vector
C++ STL中的vector是一种动态分配的数组,可以在运行时动态增加和删除元素。以上是vector的基本使用介绍,使用vector可以更方便地操作数组,特别是在需要动态分配数组的情况下。可以使用vector的下标运算符[]或at()函数来获取vector中的元素。// 获取vec中第二个元素。可以使用size()函数获取vector中元素的数量。可以使用erase()函数删除vector中的元素。原创 2023-09-19 06:29:52 · 125 阅读 · 0 评论 -
STL(第一课1.1):标准模板库(Standard Template Library),主要优点,主要组件详细介绍
在STL中定义和实现自定义迭代器也是可行的,这可以进一步扩展STL提供的迭代器,使其更适应于特殊的应用场景。STL,即标准模板库(Standard Template Library)是C++语言程序库的重要组成部分,它由一系列的类和函数模板组成,提供了许多用来处理数据的通用算法和数据结构,包括序列容器、关联容器、迭代器、算法等等。这样,您可以快速而准确地完成任务,而不必担心性能问题。算法(Algorithms):STL中的算法是为了处理容器中的数据而设计的,它们是通用的,可以被应用于不同的容器中。原创 2023-08-28 13:15:06 · 364 阅读 · 1 评论 -
STL(第一课1.2):一些常用的STL代码及其用途和使用方法
STL提供了多种容器,包括vector、list、deque、set、map等。它们提供了不同的数据结构,以适应不同的应用场景。其中,vector、list、deque是序列容器,set、map是关联容器。STL(Standard Template Library,标准模板库)是C++标准库的一部分,提供了通用的模板类和函数,包括容器、算法和迭代器等。以上是一些常用的STL代码及其用途和使用方法,STL还有很多其他的功能和算法,可以根据需要进行学习和使用。STL提供了多种常用算法,包括排序、查找、遍历等。原创 2023-08-27 17:55:27 · 208 阅读 · 0 评论