容器学习整理

容器分两种:顺序容器和关联容器(所有的容器都是类模板)

顺序容器:顺序容器内的元素按其位置存储和访问

顺序容器:|vector类型:支持快速随机访问

     |list类型:支持快速插入/删除

     |deque类型:双段队列

顺序容器适配器:|stack:后进先出栈

        |queue:先进先出队列

        |priority_queue:有优先级管理的队列

  存储方式 操作方式
vector 在内存中分配一块连续的空间进行存储,若超过这个空间则再次分配一块内存 从后面快速的插入与删除,直接访问元素
list 非连续的内存空间 双链表,从任何地方快速插入与删除
deque 连续的存储空间,实际是在堆上分配了一块一块的动态存储区,每一块动态存储区本身是连续的。 从前面或后面快速的插入与删除,直接访问任何元素

关联容器:关联容器的元素按键(key)排序

关联容器:|map类型:键-值对的集合 map<string, int> word_count;

     |set类型:键的集合 set<string> iset;

     |multimap类型:一个键对应多个值的集合 multimap<string, string> authors;

     |multiset类型:允许重复的键的集合 multiset<string> iset;

 

 

 

原文地址:https://www.cnblogs.com/qiushuixiaozhanshi/p/5629167.html