几种序列容器

6 篇文章 0 订阅

1. vector1

该模板在vector头文件中声明。vector是数组的一种类表示,它提供了自动内存管理功能,可以动态改变vector对象的长度,并随着元素的添加和删除而增大和缩小。它提供对元素的随机访问。

  • 在尾部添加和删除元素的时间是固定的,但在头部或中间插入和删除元素的复杂度为线性时间

2. deque

deque模板类(在deque头文件中声明)表示双端队列,也支持随机访问。

  • 与vector主要区别是,从deque对象的开始位置插入和删除元素的时间是固定的,而不像vector中那样是线性时间的。所以,如果多数操作发生在序列的起始和结尾处,可考虑使用deque数据结构。

3. list

list模板类(在list头文件中声明)表示双向链表。除第一个和最后一个元素外,每个元素都与前后的元素相链接,这以为这可以双向遍历链表

  • list和vector的区别在于,list在链表中任意位置进行插入和删除的时间都是固定的。
    因此,vector强调的是通过随机访问进行快速访问,而list强调的是元素的快速插入和删除
  • 与vector不同的是,list不支持数组表示法和随机访问。

  1. 详见 线性容器vector的使用↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值