根据自己命名习惯与方便理解进行实现快速排序,仅做记录,后续完善。
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;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)