stl容器有哪些 C 标准库主要就指STL吗?
浏览量:2632
时间:2021-03-10 21:08:56
作者:admin
C 标准库主要就指STL吗?
STL包括两部分:容器和算法。(将两者融合的迭代器也很重要)
存储数据的容器。例如数组。
在STL中,容器分为两类:顺序容器和关联容器。
顺序容器,其中的元素不必排序,但可以排序。例如:vector、list、deque、stack、queue、heap、priority容器的内部结构基本上是一个平衡的二叉树。所谓关联,是指每个元素都有一个键值和一个实值,元素按照一定的规则进行存储。例如:RB tree、set、map、multiset、Multimap、hashtable、hash set、hash map、hash multiset、hash Multimap。
接下来,选择一个作为示例。
Vector:它是动态分配存储空间的容器。与C语言中的数组不同,数组分配的空间是静态的,分配后不能改变,而vector会自动分配(扩展)空间。
Set:其内部元素根据元素的键值自动排序。与地图不同,地图的键值是实值,地图可以同时具有不同的键值和实值。
算法,例如排序、复制和特定于容器的算法。我不需要过多地介绍这一点。让我们看看下面的迭代器。
迭代器是STL的精髓。我们将其描述如下:迭代器提供了一种按顺序访问容器中包含的元素的方法,而不暴露容器的内部结构。它将容器从算法中分离出来,这样就可以独立地进行设计。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。