优先队列(priority_queue)

<1>

#include
#include
using namespace std;
int main(){
	priority_queue que;   //大顶堆
//	priority_queue,greater> que   //小顶堆 
	que.push(3);
	que.push(8);
	que.push(4);
	que.push(1);
	que.push(2);
	que.push(3);
	cout<

<2>

#include
#include
using namespace std;
struct node{
	int x,y;
	bool operator<(const node &b)const{
		return x < b.x;   // 大顶堆
//		return x > b.x;   // 小顶堆		 
	}
};

int main(){
	priority_queue que;
	que.push((node){1,5});
	que.push((node){3,7});
	que.push((node){2,4});
	que.push((node){-3,7});
	que.push((node){9,0});
	while(!que.empty()){
		cout<

注:代码大部分来源于B站:嵌入式宋老师。

有些为自己整理。

你可能感兴趣的:(c++,算法,开发语言)