0
#include <iostream>
#include <map>
#include <string>
#include <vector>
#include <stack>
#include <stdio.h>
#include <list>
#include <string.h>
#include <queue>
#include <algorithm>
#define pb push_back
using namespace std;
typedef pair<int,int> ii;
struct node{
int digit;
};
class Compare{
public:
bool operator()(node* a,node* b){
return (a->digit)>(b->digit);
}
};
int main()
{
priority_queue<node*,vector<node*>,Compare> pq;
vector<node*> vec;
node* p = new node();
node* q = new node();
node* r = new node();
p->digit=100;
q->digit=200;
r->digit=300;
pq.push(p);
pq.push(q);
pq.push(r);
q->digit=50;
pq.push(nod);
while(!pq.empty()){
cout<<(pq.top())->digit<<endl;
pq.pop();
}
return 0;
}
優先度キューに3つのノード(構造体)を挿入した後、キューにある中間要素の値を変更しましたが、要素の更新後に優先度キューを更新する方法がわかりません。std :: priority_queue内の要素を更新するにはどうすればいいですか?