std::deque简单说明

本文转自:http://blog.chinaunix.net/u2/86575/showart_1734758.html

 

std::deque是一个高效的双端队列,可以高效地进行插入和删除操作。

以SGI C++ STL为例
deque的基本结构是:有一个map ,map中的元素是一个记录了一个大小为512字节的线性容器。

std::deque的构造方法:
std::deque<int> queInt;//空队列
std::deque<int> queInt(10);//长度为10的队列(其中元素被初始化为该类型的0值)
std::deque<int> queInt(10,5);//长度为10的队列(其中元素被初始化为该类型的5)


std::deque<int> queIntTemp(10,5);//长度为10的队列(其中元素被初始化为该类型的5)
std::deque<int> queInt(queIntTemp);//以queIntTemp初始化queInt

int nArray[5] = {0,1,2,3,4};
std::deque<int> queInt(nArray, nArray + 5);//注意这里是nArray + 5,而不是nArray + 4

插入数据的方法
push_back();//末尾插入
push_front();//前端插入

删除方法
pop_front();
pop_back();
erase();
clear();

 

lincyang注:

如果需要使用“消息队列”,那么用deque是再好不过了!高效的插入和删除,是deque与vector和list的区别。

从一个vector的尾部追加和删除元素是快速高效的;在list插入和删除元素的效率在任何位置都是等效的,但查询一个元素是费时的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值