C++ STL序列式容器优缺点记录
STL中有三种序列式容器vector,list,deque。对其分别进行性能介绍
vector:
vector内部是通过连续的动态内存空间(dynamic array)去管理的,每push_back一个元素,将安插到array尾部。
这种通过连续的内存空间去管理的方式,可以方便我们去通过下标索引到值,在其尾部的插入和删除效率都非常之高。
当在vector内部去进行插入和删除则会导致vector容器元素去移动位置,因此效能较差
deque:
deque是一个双端队列,可在首尾进行元素的插入和删除。当在首尾删除时效率较高,在中间位置则会导致移动位置,效率较差
list:
双端链表,插入和删除只需移动内部指针位置,因此非常快,查找的话需要依次去遍历前一个元素,效能较差