美文网首页
STL常见用法 — queue

STL常见用法 — queue

作者: 0976e082f3c4 | 来源:发表于2017-02-28 22:34 被阅读74次

    代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。

    简介

    队列(queue)是一种特殊的线性表,是一种先进先出(First In First Out)的数据结构,允许在队列末尾插入元素,队列头取出元素,在STL中是用list或者deque实现,封闭头部即可。

    用法

    头文件

    #include <queue>
    

    构造函数

    template <class T, class Container = deque<T> > class queue; 
    

    队列适配器默认用deque容器实现,也可以指定使用list容器来实现

    queue <Elem> q;                 // 创建一个空的queue,默认使用deque容器
    queue <Elem, list<Elem> > q;        // 使用list容器
    queue <Elem> q1(q2);                // 复制q2
    

    成员函数

    成员函数 实现操作
    Elem& back() 返回队列最后一个元素
    bool empty()const 如果队列为空,返回true,否则返回false
    Elem& front() 返回队列第一个元素
    void pop() 移除队列中的第一个元素
    void push(const Elem& e) 在队列末尾插入元素e
    size_type size()const 返回队列中的元素数目

    用法演示

    #include <stdio.h>  
    #include <queue>  
      
    using namespace std;  
      
    int main()  
    {  
        int n, m, size;  
        queue <int> q;          //定义队列q  
      
        q.push(1);  
        q.push(2);              //将1 、2压入队列  
      
        while (!q.empty())      //判断队列是否为空  
        {  
            n = q.front();      //返回队列头部数据  
            m = q.back();           //返回队列尾部数据  
            size = q.size();        //返回队列里的数据个数  
            q.pop();                //队列头部数据出队  
            printf("%d %d %d\n", n, m, size);  
        }  
        return 0;  
    } 
    

    相关文章

      网友评论

          本文标题:STL常见用法 — queue

          本文链接:https://www.haomeiwen.com/subject/elpfgttx.html