zoukankan      html  css  js  c++  java
  • 浅谈C++ STL deque 容器

    浅谈C++ STL deque 容器

    本篇随笔简单介绍一下(C++STL)(deque)容器的使用方法及常见使用技巧。

    deque容器的概念

    (deque)的意义是:双端队列。队列是我们常用而且必须需要掌握的数据结构。(C++STL)中的确有模拟队列的模板:#include<queue>中的(queue)(priority\_queue)。队列的性质是先进先出,即从队尾入队,从队首出队。而(deque)的特点则是双端进出,即处于双端队列中的元素既可以从队首进/出队,也可以从队尾进/出队。

    即:(deque)是一个支持在两端高效插入、删除元素的线性容器。

    (deque)模板存储在(C++STL)#include<deque>中。

    deque容器的使用方法

    因为(deque)容器真的和(queue)容器大体相同,其使用方式也大体一致。下面把(deque)容器的使用方式以列表的方式放在下面:

    用法 作用
    q.begin(),q.end() 返回deque的首、尾迭代器
    q.front(),q.back() 返回deque的首、尾元素
    q.push_back() 从队尾入队一个元素
    q.push_front() 从队头入队一个元素
    q.pop_back() 从队尾出队一个元素
    q.pop_front() 从队头出队一个元素
    q.clear() 清空队列

    除了这些用法之外,(deque)(queue)更优秀的一个性质是它支持随机访问,即可以像数组下标一样取出其中的一个元素。

    即:q[i]

    deque的一些用途

    由于本蒟蒻水平有限,暂时想不出deque应用的一些实例。但有一点是肯定的:(deque)容器可以被应用到(SPFA)算法的(SLF)优化。其具体应用方式可见这篇博客:

    关于SPFA算法的优化方式

  • 相关阅读:
    Spring使用JDBC配置具名参数
    linux中的匿名管道和命名管道
    linux查看CPU信息
    磁盘阵列RAID原理、种类及性能优缺点对比
    SMP和MPP的优缺点
    Hadoop datablock size
    MySQL 高可用架构之MHA
    MySQL 高可用架构之MMM
    五大常见的MySQL高可用方案
    hive加载数据
  • 原文地址:https://www.cnblogs.com/fusiwei/p/11821000.html
Copyright © 2011-2022 走看看