码迷,mamicode.com
首页 > 其他好文 > 详细

优先级队列queue

时间:2020-11-16 14:04:06      阅读:18      评论:0      收藏:0      [点我收藏+]

标签:strong   wap   void   swap   用法   文件   int   ESS   否则   

头文件

#include<queue>
首先是基本的用法

  • 定义一个普通队列(先进先出)
    queue q;
    然后是一些基本的用法:
a=q.top();
a=q.front();//两个都是取队首元素
a=q.back();//返回对尾元素
q.push(a);//将a入队
q.pop();//将队首元素弹出(不返回队首元素是啥)
a=q.size();//返回队列元素个数
q.empty();//判断是否为空,若空则返回true,否则false;

然后说一下如何清空队列:
queue头文件貌似没有q.clear();函数

  1. 直接将一个空队列赋值给原队列
    q=queue<int>();
  2. 一直pop;
    while(!q.empty()) q.pop();
  3. 自己定义一个清空函数;
void clear(queue<int>& q)
{
queue<int> empty;
swap(empty,q);}

先省略

  • 优先级队列:
  1. 首先是降序的(大的在队首):
    priority_queue<int> q;
    相当于:
    priority_queue<int,vector<int>,less<int>>q;
  2. 然后是升序
    priority_queue<int,vector<int>,greater<int>>q;

优先级队列queue

标签:strong   wap   void   swap   用法   文件   int   ESS   否则   

原文地址:https://www.cnblogs.com/yzmy/p/13956650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!