priority_queue系列

文章目录

  • priority_queue基本运用
  • 自定义优先队列

priority_queue基本运用

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;


int  main()
{
	priority_queue<int> a;
	a.push(123);
	a.push(333);
	a.push(8888);
	cout << a.size() << endl;
	cout << a.top() << endl;
}

priority_queue系列_第1张图片

自定义优先队列

  • 记住要重载<号
  • 这样想:啥时候a
  • 那就是b.dist小的时候啊

#include 
#include 
using namespace std;

typedef struct node
{
	int index;
	float dist;
} node;
bool operator < ( const node& a , const node &b)
{
	return a.dist > b.dist;
}

int main()
{
	priority_queue<node, deque<node>,less<node>> queue;
	node temp;
	temp.dist = 12;
	temp.index = 1;
	queue.push(temp);
	temp.dist = 2;
	temp.index = 2;
	queue.push(temp);
	cout <<queue.top().dist<<endl;
}

你可能感兴趣的:(C++知识点)