原创: http://blog.sina.com.cn/u/2312748742
vect list deque 都是由c++的STL提供的数据结构。
一、vect(向量)是一个系列容器,所以元素是连续的,相当于一个动态的数组。所以每个元素都是储存在一个连续的空间中。可以通过下标直接随机的访问。与动态数组的不同的是它是通过内部实现空间的自动扩展机。
内部根据数据的数量大小进行申请空间,当出现空间不够时,先申请更大的连续空间,再把原来的数据拷贝到目标新的空间,数据的移动会消耗较多的资源。
二、list(列表)是一个链表的系列容器,采用双向链表实现,元素的空间可以不连续,跟vect和deque比能快速高效的在其任意位置进行插入和删除。并能通过算法快速的对元素进行排序(只需要改变其指针,不需要移动元素)。
优点:1、可以在任意位置快速的插入和删除节点。
三、deque(双短队列)是vect的扩展。
由多个连续空间组成,通过内部机制实现逻辑上的连续,从而实现通过下标随机访问每个元素,
deque
进程用在需要随机访问,并且需要在头尾大量添加或者删除数据的场合。
优点:1、
可以通过下标[]快速访问到元素。