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++标准容器,可以高效处理程序中的数据组织和操作问题。