【c++】容器
1. 容器
2. 顺序容器
3. 向量
4. 双向链表
5. 关联容器
6. 映射
参考:《c++从入门到精通》 人民邮电出版社
标准模板库STL的c++最有特色、最实用的部分之一。标准模板库包含了容器类、迭代器和算法三部分。
容器:容器就是可以用于存放各种类型数据的数据结构。
迭代器:迭代器可依次存取容器中的元素,在C++中称迭代器为指针,它们提供了访问容器、序列中每个元素的方法。
算法:是用来操作容器中的元素的函数模板。C++的stl库中提供了能在各种容器中通用的算法,比如插入、删除、查找、排序等,大约有70种标准算法。这些算法的最重要的一个特性就是:统一性,并且可广泛应用于不同的对象和内置的数据类型。
1.容器
容器是伴随着面向对象语言的诞生而提出的,现在的几乎所有的面向对象的语言中,都伴随着一个容器集。在c++中的容器集就是STL(标准模板库)。
那什么是容器呢?
简单来讲,容器是用来装东西的。在C++中,容器就是可以用于存放各种类型数据的数据结构。为了方便使用,c++的STL库自带一些容器,如vector(向量)、list(列表)等就是根据不同的数据结构来定制的容器。
C++的stl库里提供3类容器:
顺序容器:vector、deque(双端队列)、list(列表)等。
关联容器:set(集合)、multiset(多重集合)、map(映射)、multimap(多重映射)等。
容器适配器:stack(栈)、queue(队列)、priority_queue(优先级队列)等。
2.顺序容器
顺序容器有:vector、deque(双端队列)、list(列表)等。
Vector(向量)类提供了具有连续内存地址的数据结构,通过下标运算符“[ ]”直接有效的访问向量的任何元素。其定义在头文件<vector>中。
向量的优点:
1. 向量可以用来实现队列、堆栈、列表和其他更复杂的结构。
2. Vector支持随机访问迭代器,vector的迭代器通常实现为vector元素的指针。
3. 与数组不同,vector的内存用尽时,将自动分配更大的连续内存区,将原先的元素复制到新的内存区,这也是vector的优点。
List(列表)是由双向链表