• 浅谈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算法的优化方式

  • 相关阅读:
    Vim 配置 winmanager
    删除字符串中重复字符
    检查字符串中是否存在重复字符
    字符串逆序输出
    shell 循环使用
    Windows下JNI执行步骤
    JNI中使用cl命令生成DLL文件
    javaZIP压缩文件
    java Mail发送邮件
    关于在同一个DIV下的Hover效果问题
  • 原文地址:https://www.cnblogs.com/fusiwei/p/11821000.html
Copyright © 2020-2023  润新知