zoukankan      html  css  js  c++  java
  • C++

    C++  - STL - queue 整理笔记

    基本概念:

      queue是一种先进先出的数据结构,有两个出口,一端新增元素,另一端移除元素;

    队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为

      c++队列模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型。

    头文件

      #include<queue>

    定义一个queue类队列

      queue<类型> 名字;

    相关函数

    1)push() 在末尾加入一个元素

     

    #include <iostream>
    #include <queue>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	q.push(1);
    	q.push(2);
    	cout<<q.front()<<endl;
    	return 0;
    }
    

      输出:1

    2)front()返回队列第一个元素的引用。注意:只是返回第一个元素的值,并没有删除!

     

    #include <iostream>
    #include <queue>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	q.push(1);
    	q.push(2);
    	cout<<q.front()<<endl;
    	return 0;
    }
    

      输出:1

    3)pop()函数删除队列的一个元素

     

    #include <iostream>
    #include <queue>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	q.push(1);
    	q.push(2);
    	q.pop();
    	cout<<q.front()<<endl;
    	return 0;
    }
    

      输出:2

    4)empty()函数,如果队列为空,返回true(1),如果队列不为空,否则返回flase(0)。

     

    #include <iostream>
    #include <queue>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	q.push(18);
    	cout<<"队列第一个(唯一)元素:"<<q.front()<<endl;
    	cout<<"此时判断返回值"<<q.empty()<<endl;
    	q.pop();
    	cout<<"剔除元素后,队列第一个值(没有):"<<q.front()<<endl; 
    	cout<<"此时判断返回值"<<q.empty()<<endl;
    	return 0;
    }
    

      

      输出:

      队列第一个(唯一)元素:18
      此时判断返回值0
      剔除元素后,队列第一个值(没有):0
      此时判断返回值1

    5)back()返回一个引用,指向队列的最后一个元素。注意:只是返回最后一个元素的值,并没有删除!

     

    #include <iostream>
    #include <queue>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	q.push(1);
    	q.push(2);
    	cout<<q.back()<<endl;
    	return 0;
    }
    

      输出:2

    6)size() 返回队列中元素的个数

    #include <iostream>
    #include <queue>
    using namespace std;
    int main()
    {
    	queue<int> q;
    	q.push(1);
    	cout<<q.size()<<endl;
    	return 0;
    }
    

      输出:1

  • 相关阅读:
    static关键字(C语言)
    PartitionerTest
    PipelineTest
    ReadDataFromCheckpoint
    Demo1
    CacheTest
    CheckPointTest
    BroadCast
    AccumulatorOperator
    Operator_takeAndFirst
  • 原文地址:https://www.cnblogs.com/yxbl/p/12275353.html
Copyright © 2011-2022 走看看