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

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

  • 相关阅读:
    第二周 历年学生作品评论
    第二周 WBS、NABCD查阅
    第二周 SCRUM站立会议
    第二周 燃尽图
    第二周 对读构建之法后提出的五个问题
    补上一周的进度条
    词频统计
    每周进度及工作量统计——第三周
    第三周 四人小组
    词频统计 效能分析
  • 原文地址:https://www.cnblogs.com/ljy-endl/p/11260526.html
Copyright © 2011-2022 走看看