Effective STL: 选择合适的容器

序列容器

vector, string, deque, list

关联容器

set, multiset, map, multimap

不支持在容器的任意位置插入一个新元素

连续内存容器

vector, string, deque

在一个或多个(动态分配)的内存块中保存它们的元素. 如果一个新元素被插入或者已存元素被删除, 其他在同一个内存块的元素就必须
向上或向下移动来为新元素提供空间或者填充原来被删除的元素所占的空间.

基于节点的容器

list

vector, list, deque提供不同的复杂度. 选择原则如下:

  • vector是默认使用的序列类型
  • list, 很频繁地对序列中部进行插入和删除
  • deque, 大部分插入和删除发生在序列的头或尾

猜你喜欢

转载自blog.csdn.net/wzzfeitian/article/details/69661895
今日推荐