zoukankan      html  css  js  c++  java
  • 优先级队列queue

    头文件

    #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;
  • 相关阅读:
    继承与多态
    本周总结
    总结
    周总结
    周总结
    第三周总结
    .......
    .....
    ....
    ....
  • 原文地址:https://www.cnblogs.com/yzmy/p/13956650.html
Copyright © 2011-2022 走看看