Когда выполняется сортировка std :: priority_queue <>?

Мне было интересно, когда C ++ STL priority_queue сортирует себя. Я имею в виду, вставляет ли он его в правильное место, когда вы нажимаете элемент, или он сортирует сам себя и дает вам элемент с наивысшим приоритетом, когда вы заглядываете ] или вытолкнуть ? Я спрашиваю об этом, потому что моя priority_queue будет содержать индекс массива, который может иметь обновления значений, и я хочу, чтобы он обновлялся, когда я выполняю pq.top (); .

#include <cstdio>
#include <algorithm>
#include <queue>
using namespace std;

int main() {
  priority_queue<int> pq;
  pq.push(2);
  pq.push(5); //is the first element 5 now? or will it update again when I top() or pop() it out?
  return 0;
}

Спасибо.

5
задан Shafik Yaghmour 20 March 2013 в 15:18
поделиться