/* 粒子吸附*/

优先级队列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;
posted @ 2020-11-10 23:36  上行  阅读(96)  评论(0编辑  收藏  举报
/* 引入live2d的相关js*/