Führt das Ändern eines Prioritätswarteschlangenelements dazu, dass die Warteschlange neu sortiert wird?

Ich habe eine Prioritätswarteschlange und möchte einen Teil ihres Inhalts (den Prioritätswert) ändern. Wird die Warteschlange dann neu sortiert?

Dies hängt davon ab, ob Sie auf Push / Pop zurückgreifen (wahrscheinlich, weil Sie nur "einfügen" müssen, nicht ganz zurückgreifen) oder ob Sie auf Top oder Pop zugreifen.

Ich möchte wirklich einige Elemente in der Warteschlange ändern. Sowas in der Art:

priority_queue<int> q;

int a=2,b=3,c=5;
int *ca=&a, *cb=&b, cc=&c;

q.push(a);
q.push(b);
q.push(c); //q is now {2,3,5}

*ca=4;

//what happens to q?
// 1) {3,4,5}
// 2) {4,2,5}
// 3) crash

Antworten auf die Frage(4)

Ihre Antwort auf die Frage