顺序容器在C++ Primer 5th中
发布时间
阅读量:
阅读量
0顺序容器概述

除了预先分配好内存之外,其他数据结构都具备高效的动态内存管理能力.这些数据结构不仅支持基本的增删替代表现,还能根据实际需求调整自身容量.选择何种数据结构以及如何组织数据对象都会直接影响其操作效率,在某些特殊场景下这种选择可能还会决定某个数据结构是否能够执行特定操作.
例如,在string和vector容器中被用来将各个元素以连续分配的方式存放在内存中。因为各个元素以连续的方式存放在内存中,则通过计算各个元素的位置可以直接定位到所需数据。然而,在这种数据结构中进行插入或删除操作时会产生较大的性能开销:每当执行一次插入或删除操作后都需要移动所有位于插入/删除位置之后的数据项以便维护整个序列的空间布局;此外,在每次增加一个新的数据项有时还需预先预留额外的空间来满足后续增长的需求
list和forward_list两个容器的设计目的是为了让容器在任何位置进行添加和删除操作都非常高效。然而,这两个容器无法实现快速访问特定元素:要想获取某个特定元素,必须遍历整个容器进行查找。此外,相较于vector、deque和array这些数据结构,list和forwa
全部评论 (0)
还没有任何评论哟~
