优先队列

普通优先队列:

头文件:#include、#include

定义:

   (默认:从大到小)priority_queue que;

   (自定义:从大到小)priority_queue,less > que;

   (最后两个'>'间要有个空格,下同)

   (自定义:从小到大)prioity_queue,greater > que;

操作:

   增加新元素——que.push(a[i]);

   删除队首元素——que.pop();

   访问队首元素——que.top();

   查询元素个数:que.size();

   判断队列空否:que.empty();(空为真)

 结构体优先队列:

头文件:#include

定义:

step 1:定义所需结构体 

   struct node

   {

    int data;

    char c;

   }; 

step 2:定义排序方式

按data的大小 从大到小排:

   bool operator<(node a,node b)

   {

     return a.data

   }

sept 3:定义结构体优先队列

priority_queue que;

操作:

   增加新元素:que.push({5,'c'});

   删除队首元素:que.pop();

   访问队首元素:que.top().data\que.top().c;

   查询元素个数:que.size();

   判断队列空否:que.empty();(空为真)

 

你可能感兴趣的:(优先队列)