数据结构 优先队列 大顶堆 小顶堆 C++

数据结构 优先队列 大顶堆 小顶堆 C++,第1张

根据自己命名习惯与方便理解进行实现快速排序,仅做记录,后续完善。

struct bigHeapFunc
{
	bool operator()(pair a, pair b)
	{
		//优先队列的队首元素优先级最高
		//结果为true时:    b的优先级高
		//结果为false时:   a的优先级高
		if(a.second > b.second)
		   return false;
		else
		   return true;
		   
		//等同于下面
		//return a.second < b.second;
	}
};
struct smallHeapFunc
{
	bool operator()(pair a, pair b)
	{
		//优先队列的队首元素优先级最高
		//结果为true时:    b的优先级高
		//结果为false时:   a的优先级高
		if(a.second < b.second)
		   return false;
		else
		   return true;
		   
		//等同于下面
		//return a.second > b.second;
	}
};

//构建一个大顶堆
priority_queue,less> big_heap;
//多个元素
priority_queue,vector>,bigHeapFunc>  big_heap2;

//构造一个小顶堆
priority_queue,greater> small_heap;   
//多个元素
priority_queue,vector>,smallHeapFunc>  small_heap2;



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存