C++STL之deque的使用

参考别人的哈,特此声明。

#include <deque>
/*
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似
deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,
指向另一段(较大的)区域,这个区域称为缓冲区,缓冲区用来保存deque中的数据。
因此deque在随机访问和遍历数据会比vector慢。具体的deque实现可以参考《STL源码剖析》,
当然此书中使用的SGI STL与VS2008所使用的PJ STL的实现方法还是有区别的。

Deque成员函数

 函数 描述
 c.assign(beg,end)将[beg; end)区间中的数据赋值给c。
 c.assign(n,elem)   将n个elem的拷贝赋值给c。
 c.at(idx)  传回索引idx所指的数据,如果idx越界,抛出out_of_range。
 c.back()   传回最后一个数据,不检查这个数据是否存在。
 c.begin()  传回迭代器重的可一个数据。
 c.clear()  移除容器中所有数据。
 deque<Elem> c    创建一个空的deque。
 deque<Elem> c1(c2)   复制一个deque。
 Deque<Elem> c(n)    创建一个deque,含有n个数据,数据均已缺省构造产生。
 Deque<Elem> c(n, elem)   创建一个含有n个elem拷贝的deque。
 Deque<Elem> c(beg,end)   创
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值