快捷搜索: 王者荣耀 脱发

C++定义结构体大小根堆的方法

#include <iostream>
#include <queue>
#include <string>
using namespace std;
struct Pair
{
          
   
    int id;
    string data;
};

bool operator<(Pair p1,Pair p2){
          
   
    return p1.id<p2.id;
}

int main() {
          
   
    //大根堆
    priority_queue<Pair> tmp;
    tmp.push({
          
   3,"a"});
    tmp.push({
          
   2,"b"});
    cout<<tmp.top().data;//结果为a
}
#include <iostream>
#include <queue>
#include <string>
using namespace std;
struct Pair
{
          
   
    int id;
    string data;
};

bool operator<(Pair p1,Pair p2){
          
   
    return p1.id>p2.id;
}

int main() {
          
   
    //小根堆
    priority_queue<Pair> tmp;
    tmp.push({
          
   3,"a"});
    tmp.push({
          
   2,"b"});
    cout<<tmp.top().data;//结果为b
}
//int型的定义
//1.大根堆:priority_queue<int> tmp;
//2.小根堆:priority_queue<int,vector<int>,greater<int>> tmp;
经验分享 程序员 微信小程序 职场和发展