queue:

FIFO队列:先进先出队列。

优先队列:对队列中的元素按优先级的大小输出。

定义:

FIFO队列: queue<数据类性>变量名。

优先队列:priority_queue<数据类型>变量名。

Eg:

FIFO队列: queue<int>que//定义了一个名为que的整型的先进先出队列。

优先队列:priority_queue<int>que//定义了一个名为que的整型的优先队列。

//当类型为自定义结构时,需要重载运算符。

Eg:

struct ss//定义了一个ss的结构体
      {
          int x,y;
          ss(){}//构造函数
          ss(int xx,int yy)//重载函数
            {
                x=xx;
                y=yy;
             } 
           bool operator<(const ss& b)const{//重载函数运算符。
                return y<b.y;
              }
      };

priority_queue<ss>que;//定义使用;

注:调用操作函数时,类型也应为定义类型,例子因为重载了初始函数,所以可以用que.push(ss(1,2))来操作。

基本操作:

que.empty()//若队列不为空,则返回false,否则返回true;

que.szie()//返回队列中元素个数;

que.pop()//删除队首元素,但不返回其值;

que.front()//返回队首元素的值,但不删除该元素,(仅适用于FIFO队列)

que.back()//返回队尾元素的值,但不删除该元素,(仅适用于FIFO队列)

q.top()//返回具有最高优先级的元素的值,但不删除该元素(仅适用于优先队列)

q.push()//对queue; 在队尾压入一个新元素;对priority_queue, 在基于优先级的的当前位置插入新元素。

代码解释:

#include<cstdio>
#include<queue>
#include<iostream>

using namespace std;

struct ss
{
int x,y;
ss(){}
ss(int xx,int yy)
{
x=xx;
y=yy;
}
bool operator<(const ss& b)const{
return y<b.y;
}
};
int main()
{
priority_queue<ss>que1;
queue<int>que2;
que2.push(1);
que2.push(3);
que2.push(2);
cout<<"que2的长度";
cout<<que2.size()<<endl;
que1.push(ss(1,2));
que1.push(ss(2,3));
que1.push(ss(3,4));
cout<<"que1的长度";
cout<<que1.size();
cout<<"que2中的第一个元素";
cout<<que2.front()<<endl;
cout<<"删除que2中第一个元素"<<endl;
que2.pop();
cout<<"que2的长度";
cout<<que2.size()<<endl;
cout<<"que1的第一个元素的x与y值";
cout<<que1.top().x<<" "<<que1.top().y<<endl;
}

C++之路起航——标准模板库(queue)的更多相关文章

  1. C++之路起航——标准模板库(vector)

    vector(动态数组或向量):动态分配内存空间的线性储存结构. 需要包括头文件<vector> 定义: vector<数据类型> 变量名: Eg: vector<int ...

  2. C++之路起航——标准模板库(deque)

    deque(双端队列):http://baike.baidu.com/link?url=JTvA2cuLubptctHZwFxswvlZvxNdFOxmifsYCGLj5IZF-Tj4rbWLv8Jn ...

  3. C++之路起航——标准模板库(set)

    set(集合):http://baike.baidu.com/link?url=cb68AB-3qfEK8RoaGHJFClb4ZiWpJfc32lPOLtaNUrdxntFC738zCZsCiUlf ...

  4. C++之路起航——标准模板库(list)

    list(链表):http://baike.baidu.com/link?url=gkVdBlHEzy6ssrgT5Iy2wze4jl37ka1G45TRpUHrQSYFZQg2HimtUCePV0t ...

  5. [转载]C++之路起航——标准模板库(deque)

    转自:https://www.cnblogs.com/grhyxzc/p/5074061.html deque(双端队列):http://baike.baidu.com/link?url=JTvA2c ...

  6. C++ 标准模板库STL 队列 queue 使用方法与应用介绍

    C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...

  7. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  8. 【转】C++标准库和标准模板库

    C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...

  9. STL标准模板库介绍

    1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...

随机推荐

  1. 【Demo】 生成二维码 和 条形码

    条形码 和 二维码 对比 一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准. 在水平和垂直方向的二维空间存储信息的条形码, 称为 ...

  2. 怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?

      分类: OpenCV [Q1]怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图? 进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.b ...

  3. nrf51822-提高nordic ble数据发送速率

    讲解2点: 为什么 nordic的4.0协议栈中ble只能发送20字节的应用负载数据. 大量数据发送时如何提高发送速率 1:为何上层应用负载每次最多20字节 首先了解 4.0中链路层的包格式如下: P ...

  4. 详解linux系统的启动过程及系统初始化

    一.linux系统的启动流程 关于linux系统的启动流程我们可以按步进行划分为如下: POST加电自检 -->BIOS(Boot Sequence)-->加载对应引导上的MBR(boot ...

  5. hadoop与云技术、云计算混肴澄清

    本文引用自:http://www.aboutyun.com/blog-61-248.html 一.初学者问题: 请教个问题在实际的生成环境里面,数据源产生的地方部署Hadoop,还是需要程序把数据给迁 ...

  6. 【Java IO】FileInputStream 和 FileOutputStream

    class FileInputStream extends  InputStream implements Closeable

  7. Solr分页与高亮(使用SolrNet实现)

    Solr分页与高亮(使用SolrNet实现) 本节我们使用Asp.net MVC实现Solr客户端查询,建议使用SolrNet这个客户端,开源地址在:https://github.com/mausch ...

  8. Hubilder用git插件安装使用

    打开Hbuilder,工具->插件安装(git分布式版本管理插件) 打开https://www.github.com,注册.登录.创建仓库 在Hbuilder中新建项目→然后右键→Team→共享 ...

  9. SMART Goals

    Once you have planned your project, turn your attention to developing several goals that will enable ...

  10. android 打开软件出现红框

    android打开软件的时候会出现红框,剑锋之前解了这个问题.fork过来,方便以后查看. 参考链接: http://www.cnblogs.com/zengjfgit/p/5377744.html ...