c++ priority_queue如何实现优先级排序

   2024-09-30 5630
核心提示:在C++中,priority_queue是一个容器适配器,它提供了一种特殊的队列,其元素可以按照优先级进行排序。默认情况下,priority_queu

在C++中,priority_queue是一个容器适配器,它提供了一种特殊的队列,其元素可以按照优先级进行排序。默认情况下,priority_queue的元素是按照从大到小的顺序排列的,但你也可以自定义比较函数来改变这种排序方式。

下面是一个使用priority_queue实现优先级排序的例子:

#include<iostream>#include<queue>#include<vector>using namespace std;// 自定义比较函数,按照从小到大的顺序排列struct Compare {    bool operator()(const int &a, const int &b) {        return a > b;    }};int main() {    // 创建一个优先级队列,使用自定义的比较函数    priority_queue<int, vector<int>, Compare> pq;    // 向优先级队列中添加元素    pq.push(5);    pq.push(1);    pq.push(3);    pq.push(7);    pq.push(2);    // 从优先级队列中取出元素并打印    while (!pq.empty()) {        cout << pq.top() << " ";        pq.pop();    }    return 0;}

输出结果:

1 2 3 5 7

在这个例子中,我们首先定义了一个自定义比较函数Compare,它使得priority_queue中的元素按照从小到大的顺序排列。然后,我们创建了一个priority_queue对象,并向其中添加了一些元素。最后,我们从priority_queue中取出元素并打印,可以看到元素已经按照优先级进行了排序。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号