queue(队列)

  • 定义:queue <int> a;

  • 插入队尾:a.push(x);

  • 查询队尾:a.back();

  • 查询队首:a.front();

  • 删除队首:a.pop();

  • 查询长度:a.size();

  • 判断队列为空:q.empty()

  • 清空只能慢慢pop。

priority_queue(优先队列/堆)

基本操作:

q.empty()   

如果队列为空,则返回真

q.pop()    

删除对顶元素,删除第一个元素

q.push()   

加入一个元素

q.size()    

返回优先队列中拥有的元素个数

q.top()     

返回优先队列中有最高优先级的元素 在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数

声明方式:

priority_queue<int> q;    

//通过操作,按照元素从小到大的顺序出队 priority_queue<int,vector<int>, greater<int> > q;    

//通过操作,按照元素从大到小的顺序出队 (less<int>)

结构体声明方式:(和sort一样)

struct node {     
  int x, y;     
  bool operator < (const node &a)const
  {         
    return x > a.x;    //结构体中,x小的优先级高     
  }
};

priority_queue<node>q; //定义方法

//在该结构中,y为值, x为优先级。

//通过自定义operator<操作符来比较 元素中的优先级。

//在重载”<”时,最好不要重载”>”, 可能会发生编译错误

queue怎么用咧↓↓↓的更多相关文章

  1. [数据结构]——链表(list)、队列(queue)和栈(stack)

    在前面几篇博文中曾经提到链表(list).队列(queue)和(stack),为了更加系统化,这里统一介绍着三种数据结构及相应实现. 1)链表 首先回想一下基本的数据类型,当需要存储多个相同类型的数据 ...

  2. Azure Queue Storage 基本用法 -- Azure Storage 之 Queue

    Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure File Storage 基 ...

  3. C++ std::queue

    std::queue template <class T, class Container = deque<T> > class queue; FIFO queue queue ...

  4. 初识Message Queue之--基础篇

    之前我在项目中要用到消息队列相关的技术时,一直让Redis兼职消息队列功能,一个偶然的机会接触到了MSMQ消息队列.秉着技术还是专业的好为原则,对MSMQ进行了学习,以下是我个人的学习笔记. 一.什么 ...

  5. 搭建高可用的rabbitmq集群 + Mirror Queue + 使用C#驱动连接

    我们知道rabbitmq是一个专业的MQ产品,而且它也是一个严格遵守AMQP协议的玩意,但是要想骚,一定需要拿出高可用的东西出来,这不本篇就跟大家说 一下cluster的概念,rabbitmq是erl ...

  6. PriorityQueue和Queue的一种变体的实现

    队列和优先队列是我们十分熟悉的数据结构.提供了所谓的“先进先出”功能,优先队列则按照某种规则“先进先出”.但是他们都没有提供:“固定大小的队列”和“固定大小的优先队列”的功能. 比如我们要实现:记录按 ...

  7. C#基础---Queue(队列)的应用

       Queue队列,特性先进先出. 在一些项目中我们会遇到对一些数据的Check,如果数据不符合条件将会把不通过的信息返回到界面.但是对于有的数据可能会Check很多条件,如果一个数据一旦很多条件不 ...

  8. [LeetCode] Queue Reconstruction by Height 根据高度重建队列

    Suppose you have a random list of people standing in a queue. Each person is described by a pair of ...

  9. [LeetCode] Implement Queue using Stacks 用栈来实现队列

    Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of ...

随机推荐

  1. Django模板语言的学习

    1.模板系统 1.语法 1.变量相关 {{ name}} ,{{ name|length}}, {{ name |default:"默认值"}} 2.逻辑相关 1.if判断 {% ...

  2. 原生JavaScript实现轮播图

    ---恢复内容开始--- 实现原理 通过自定义的animate函数来改变元素的left值让图片呈现左右滚动的效果 HTML: <!DOCTYPE html> <html> &l ...

  3. chrome浏览页面常用快捷键

    1.chrome浏览页面常用快捷键 Ctrl+N 打开新窗口. Ctrl+T 打开新标签页. Ctrl+W关闭当前标签 Ctrl + F4 关闭chrome浏览器 Ctrl+Tab 或 Ctrl+Pg ...

  4. EF 拉姆达 linq if else (整理)

    首先想到: var data0 = db.T_Plants2; //这里加.AsQueryable() ) { .Where(d => d.NaturalEcosystem == true); ...

  5. requests中构造post请求注意点

    构造post请求时需要注意点: 通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. 如果是urlencoded 格式 data=字典如果是js ...

  6. 浅谈HTTP中Get与Post的区别【转】

    转自http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html#commentform 感谢LZ分享 Http定义了与服务器交互的不同方法 ...

  7. MySQL/MariaDB数据库的用户和权限管理

    MySQL/MariaDB数据库的用户和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.元数据数据库(mysql) 系统授权表(均在mysql数据库中): db hos ...

  8. OpenStack共享组件-RabbitMQ消息队列

    1. MQ 全称为 Message Queue, 消息队列( MQ ),是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息 ...

  9. DT6.0开发之-调用信息评论

    今天在做destoon6.0产品内页开发时候,用到了调取当前信息评论,所以就顺便做下笔记. 调用当前信息的评论代码: <!--{tag("table=destoot_comment&a ...

  10. python高性能编程 读书笔记

    GIL 确保 Python 进程一次只能执行一条指令 ====分析工具cProfile 分析函数耗时line_profiler  逐行分析 heapy 追踪 Python 内存中所有的对象— 这对于消 ...