【顺序容器】
顺序容器元素的插入位置同元素的值无关。
1.vector:后部插入/删除,直接访问
简介:头文件 <vector>
实际上就是个动态数组。随机存取任何元素都能够在常数时间内完成。在尾端增删元素具有较佳的性能。
2.deque:前/后部插入/删除,直接访问
简介:头文件 <deque>
也是个动态数组,随机存取任何元素都能在常数时间完成(但性能次于vector)。在两端增删元素具有较佳的性能。
3.list:双向链表,任意位置插入/删除
简介:头文件 <list>
双向链表,在任何位置增删元素都能在常数时间完成。不支持随机存取。
【关联容器】
关联式容器内的元素是排序的,插入任何元素,都按相应的排序准则来确定其位置。关联式容器的特点是在查找时具有非常好的性能。
1.set:快速查找,无重复元素
简介:头文件 <set>
set/multiset:set 即集合。set中不允许相同元素,multiset中允许存在相同的元素。
2.map:一对一映射,无重复元素,基于关键字查找
简介:头文件 <map>
map/multimap:与set的不同在于map中存放的是成对的key/value。并根据key对元素进行排序,可快速地根据key来检索元素map同multimap的不同在于是否允许多个元素有相同的key值。
【容器适配器】
1.stack:LIFO
简介:头文件 <stack>
栈。是项的有限序列,并满足序列中被删除、检索和修改的项只能是最近插入序列的项。即按照后进先出的原则
栈。是项的有限序列,并满足序列中被删除、检索和修改的项只能是最近插入序列的项。即按照后进先出的原则
2.queue:FIFO
简介:头文件 <queue>
队列。插入只可以在尾部进行,删除、检索和修改只允许从头部进行。按照先进先出的原则。
3.priority_queue:优先级高的元素先出
简介:头文件 <queue>
优先级队列。最高优先级元素总是第一个出列