STL Deque(双向队列) C++

8 篇文章 0 订阅

头文件:#include<deque>  (动态一维数组)

定义:deque<变量类型> 变量名; 例:deque<变量类型> dq;

特点:支持随机访问(数组访问下表从0开始;at方法访问,会抛出异常),性能不如vector;

          可以在内部进行插入和删除操作,性能不如list;//性能介于vector和list之间

          deque两端具有快速插入和删除的能力;

常用方法(加粗):

两个(正向)迭代器:begin()和end();

两个(反向)迭代器:rbegin()和rend();//以上两组用于遍历整个双向队列;

清空:clear();//清除整个队列的元素;

插入:push_front();//从头部插入一个元素;

          push_back();//从尾部插入一个元素;

          insert();        //在某个位置插入一个元素;(参数迭代器,元素)

删除:pop_front();  // 头部弹出一个元素;

          pop_back();  //尾部弹出一个元素;

          erase();         //删除任意位置的一个元素;(参数迭代器)

注erase函数在deque和vector中尽量少使用,时间复杂度较高(效率低)

取值:front();          //返回头部第一个元素;

          back();          //返回尾部第一个元素;

          at();               //返回对应index位置的元素,会抛出异常;

          []  数组访问方式;//以数组下标的形式访问不会抛出异常;

判断是否为空:empty();//判断deque是否为空;

大小:size();                 //返回deque的大小;

交换:swap();                //交换两个deque;

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值