zoukankan      html  css  js  c++  java
  • queue怎么用咧↓↓↓

    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<操作符来比较 元素中的优先级。

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

  • 相关阅读:
    javascript字符串加密解密函数
    javascript实现blob加密视频源地址
    HTML网页实现flv视频播放
    DELL r720远控装系统
    nginx笔记
    Centos7防火墙配置
    CentOS7.x搭建LNMP
    搭建可道云私人云盘系统
    网络设备巡检常用命令-摘自星球成员马磊分享
    部署Windows Server 2012的WSUS补丁服务器
  • 原文地址:https://www.cnblogs.com/ljy-endl/p/11260526.html
Copyright © 2011-2022 走看看