优先队列的元素是指针型时如何建堆

算法笔记上记载的方法,经过自己推敲调试得出如下方法

struct node
{
    
    
    int w;
    node* lchild;
    node* rchild;
};
struct cmp{
    
    
bool operator()(node *a,node *b)
{
    
    
    return a->w<b->w;//a->w>b->w是小顶堆
}
};
priority_queue<node*,vector<node*>,cmp>forest;

即可建立大顶堆

猜你喜欢

转载自blog.csdn.net/weixin_45890608/article/details/111708370