C++ | 顺序容器(vector、list、deque)

本文详细介绍了C++标准模板库中的三种顺序容器:vector、list和deque。vector基于数组,支持随机访问和高效后插删除;list基于双向链表,适合任意位置的插入删除;deque支持双端操作,同时具备快速插入删除和随机访问的能力。各容器的扩容策略和操作时间复杂度也进行了对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++标准模板库提供三种顺序容器:vector,list 和deque。

vector 类和 deque 类是以数组为基础的,list 类是以双向链表为基础的。

1. vector

图1 vector底层结构

 

如图1所示,矢量 vector 类提供顺序表下标运算符[ ] 有效

矢量可以用来实现队列、堆栈、列表和其他更复杂的结构。

vector支持随机访问迭代子 。vector的迭代子通常实现为 vector 元素的指针。所谓选择容器类,实际上很大部分是在选择所支持的迭代子。

  • vector 扩容方式:

    (1)倍数开辟二倍的内存

    (2)旧的数据拷贝到新内存中

    (3)释放旧的内存

    (4)指向新内存

vector 优点:从后面快速插入与删除,直接访问任何元素

使用矢量容器的声明如下:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值