STL之deque

deque介绍

1、deque是动态大小的序列式容器,可以向两端进行扩容或压缩
2、特定的库可以以不同的方式实现deque,但通常都是一种动态数组。不论在何种情况下,它都允许通过随机访问迭代器直接访问单个元素
3、deque提供了一些与vector相似的功能,但deque在头部和尾部进行数据插入和删除操作更加高效。与vector不同的是,deque不能保证所有元素都存储在连续的空间中,在deque中通过指针加偏移量的方式访问元素可能导致非法的操作

就我而言,其实,相比其他容器而言,deque比较“鸡肋”(个人观点),若要说遍历元素,用vector足以完成,若要说插入删除,list也够用,而且相比来说,deque性能在这两方面性能较差
在这里插入图片描述

deque的接口

在这里插入图片描述

deque的应用场景

deque在序列式容器中比较鸡肋,因为如果只是简单的存储元素,使用vector即可,如果对元素任意位置进行插入或者删除操作比较多,使用list即可,所以一般很少去使用deque,它最大的应用,就是作为标准库中stack和queue的底层结构
详见库函数stack的模拟实现库函数queue的模拟实现


THE END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值