优先队列 Posted on 2021-12-04 Views: C++ STL里的优先队列priority_queue底层时用堆实现的。 使用时简单的小顶堆/大顶堆可以如下定义: 123priority_queue<int,vector<int>,greater<int> > q; //小顶堆priority_queue<int,vector<int>,less<int> > q; //大顶堆 但是greater和less只适用于简单的元素类型,对于复杂元素(比如自定义的结构体)需要重载运算符<。 1234567struct node{ int num; int dis; bool operator <(const node &a) const{ return a.dis<dis; // 小顶堆 }}; Welcome to my other publishing channels GItHub