C++优先队列(priority_queue) - 第五种方法:运用function和lambda表达式的自定义排序功能
最编程
2024-07-19 21:39:51
...
要加入头文件#include<functional>
由于function对lambda函数进行了包装 ,cmp本身就是一个对象地址。(function对象)
直接decltype(cmp)获得函数指针 的类型。
function<bool(vector<int>&,vector<int>&)> cmp=[](vector<int>&a,vector<int>&b)->bool{
return a[0]>b[0];
};
priority_queue<vector<int>,vector<vector<int>>,decltype(cmp)> q(cmp);//小顶堆
这是属于传入 函数指针的方式。