C++容器

C++标准库提供了各种容器模板类,用来存放数据集合。

一、顺序容器

顺序容器中的元素按线性顺序存储,可以通过索引直接访问元素。

常用的有vector、list、deque等。vector使用连续内存空间,访问速度快,但插入删除慢。list使用链表结构,插入删除快,但访问慢。deque则兼具两者优点。

二、关联容器

关联容器中的元素按关键字排序,可以快速查找元素。

常用的有set、multiset、map、multimap等。set和map存储唯一元素,multiset和multimap可存储重复元素。map实现映射关系,配合key查询使用。

三、无序容器(哈希容器)

无序容器中的元素按哈希函数存储,查找速度很快。

常用的有unordered_set、unordered_multiset、unordered_map等。

四、容器适配器

常用的容器适配器有queue、priority_queue、stack等,它们都封装了一个容器实现。

五、初始化

vector<int> vec{1,2,3}; // 初始化列表
set<int> st(vec.begin(), vec.end()); // 用区间初始化

六、常用操作

容器支持遍历、插入、删除、查找等操作。

七、选择容器类型

根据需要选择合适的容器,能大幅提高程序效率。

掌握使用C++标准容器,可以高效处理程序中的数据组织和操作问题。