• 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

  • 相关阅读:
    linux挂载
    kafka
    使用python27+flask
    arcpy 10.8计算最短路径,并复制出结果
    arcgis pro2.5使用试用
    arcgis engine create featureclass , gp工具
    python和c#的 opencv文字区域识别
    C#调用带参数并输出控制台的python的EXE程序
    arcgis10.8中 python27打包exe文件
    arcgis engine指定范围导出屏幕图片
  • 原文地址:https://www.cnblogs.com/yxbl/p/12275353.html
Copyright © 2020-2023  润新知