【STL】容器(一)——顺序容器vector、list、deque(初级简单了解)

本文详细介绍了STL中的三种顺序容器——vector、list和deque,包括它们的插入、删除、访问操作及其特点。vector适用于快速访问和尾部操作,list适合任意位置的插入和删除,deque则支持快速的头尾操作。同时,文章对比了vector和deque的区别,分析了各自的使用场景。
摘要由CSDN通过智能技术生成

目录

一、vector

(一)对于vector容器的插入删除以及访问的研究:

(二)vector的扩容机制

(三)优缺点

二、list

(一)对于list插入删除以及访问的研究:

(二)list的优缺点

三、deque

(一)对于deque容器的插入删除操作以及访问的研究

(二)deque的扩容机制

(三)优缺点

四、vector和deque的区别


一、vector

Vector是STL中的一种顺序容器,它的底层是利用数组进行实现的。那对vector的操作就可以利用对数组的一些操作方式进行。

(一)对于vector容器的插入删除以及访问的研究:

         尾部插入:  O(1)  会导致尾部迭代器失效

         按位置插入:O(N)  导致插入位置以后的迭代器失效

         尾部删除:  O(1)  会导致尾部迭代器失效

         按位置删除:O(N)  导致删除位置以后的迭代器失效

         访问:O(1)

(二)vector的扩容机制

         1、倍数开辟,更大的内存

         2、旧的数据拷贝到新的内存

         3、释放内存

         4、指向新内存

(三)优缺点

优点:支持快速的尾部插入和删除以及高速的直接访问

缺点:任意位置的插入和删除的时间复杂度高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值