标准库容器概述
名称 | 类型 | 插入性能 | 删除性能 | 查找性能 | 何时使用 |
---|---|---|---|---|---|
vector |
顺序 | 平均 O(1) 在末尾;否则 O(N) | 平均 O(1) 在末尾;否则 O(N) | O(1) | 默认容器。使用其他容器前先用分析器确认 |
list |
顺序 | O(1) 在开始和结束处,以及插入位置 | O(1) 在开始和结束处,以及删除位置 | O(1) 访问第一个或最后一个元素;否则 O(N) | 极少使用。一般使用 vector |
forward_list |
顺序 | O(1) 在开始处和插入位置 | O(1) 在开始处和删除位置 | O(1) 访问第一个元素;否则 O(N) | 极少使用。一般使用 vector |
deque |
顺序 | O(1) 在开始或结束处;否则 O(N) | O(1) 在开始或结束处;否则 O(N) | O(1) | 通常不需要;使用 vector |
array |
顺序 | N/A | N/A | O(1) | 需要固定大小的数组来替换标准 C 风格数组 |
queue |
容器 |