c++提供了各具特长的容器,那么我们该如何选择最佳的容器?

  • 缺省状态下应该选择vector,因为vector内部结构最简单,并允许随机存取,所以数据的存取十分方便,数据的处理也快。
  • 如果经常要在头部和尾部安插和移动元素,应该采用deque,如果希望元素被移除时,容器能够自动缩减内存,也应该使用deque。
  • 如果经常在容器的中段执行元素的安插、移除和移动,可以使用list,list提供特殊的成员函数,可以在常数时间内从A容器将元素转移到B容器,但是list不支持随机存取,所以如果只知道list的头部元素,需要访问list的中部元素,性能会大打折扣。
  • 如果经常需要根据某个准则来搜寻某个元素,那么应该使用“以该排序准则对元素进行排序的”set或者multiset。
  • 如果需要key/value pair,应当使用map或者multimap。如果需要关联数组,也可以使用map或者multimap。

相关文章:

  • 2022-01-10
  • 2022-12-23
  • 2021-05-31
  • 2021-11-22
  • 2021-12-21
  • 2022-12-23
  • 2021-12-27
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-09
  • 2021-07-23
  • 2021-12-31
  • 2022-01-18
  • 2022-12-23
相关资源
相似解决方案