zoukankan      html  css  js  c++  java
  • C++标准库---queue

    queue的核心接口主要由成员函数push(),front(),back(),pop()构成;

    push():会将一个元素置入queue中;
    front():会返回queue内的第一个元素(也就是第一个被置入的元素)
    back():会返回queue中的最后一个元素(也就是最后被插入的元素)
    pop():会移除queue内的第一个元素(也就是第一个被置入的元素)

    注意:
    (1)front()和back()仅仅只是返回元素,并不对queue中的元素移除,所以多次执行这两个成员函数,而不执行pop(),返回的结果一样;
    (2)pop()虽然执行移除操作,但是并不返回被移除对象的值;
    (3)如果想返回queue的元素,并移除返回的元素,就要同时执行fornt()和pop();
    (4)如果queue内没有元素,那么front(),back(),pop()的执行都会导致未定义的行为,所以在执行这三个操作是,可以通过size()和empty()判断容器是否为空;

    #include <iostream>
    #include <string>
    #include <queue>
    
    using namespace std;
    
    int main()
    {
        queue<string> q;
    
        if (q.empty())
            cout<<"The queue is empty!!"<<endl;
        else
            cout<<"The queue is not empty!!"<<endl;
    
        q.push("These ");
        q.push("are ");
        q.push("more than ");
        cout<<"back:"<<q.back()<<endl;
        cout<<"back:"<<q.back()<<endl;
    
        cout<<"font:"<<q.front()<<endl;
        q.pop();
        cout<<"font:"<<q.front()<<endl;
    
        q.push("four ");
        q.push("words! ");
        q.pop();
    
        cout<<"font:"<<q.front()<<endl;
        cout<<"The queue size is"<<q.size()<<endl;
        return 0;
    }

    运行图:
    这里写图片描述

  • 相关阅读:
    【Spring】IOC核心源码学习(二):容器初始化过程
    啃啃老菜:Spring IOC核心源码学习(一)
    快速理解Kafka分布式消息队列框架
    浅谈分布式缓存那些事儿
    JVM调优总结
    唉,程序员要是自学能力不行就等死吧!
    游戏开发入门
    JVM源码分析-Java运行
    Java阻塞队列的实现
    Java中堆内存和栈内存详解
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12538273.html
Copyright © 2011-2022 走看看