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

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

  • 相关阅读:
    DataTables中自增序号的实现
    MVC中调用模态框之后导致JS失效
    teamviewer13破解版
    屏幕录制专家破解版
    Navicat Premium 12 (内含破解补丁)
    Navicat新建连接出现10060 "Unknown error" 错误
    Windows添加永久路由
    VMware虚拟机下Linux网络配置——桥接模式
    文件基本属性
    ifconfig: command not found
  • 原文地址:https://www.cnblogs.com/ljy-endl/p/11260526.html
Copyright © 2011-2022 走看看