언제 C++ STL priority_queue
이 자체 정렬되는지 궁금합니다. 내 말은 insert
push
항목을 넣었을 때 올바른 위치에 넣었습니까? 아니면 peek
또는 pop
일 때 항목을 정렬하고 가장 우선 순위가 높은 항목을 제공합니까? 내 priority_queue<int>
값을 가질 수 있습니다 배열에 대한 인덱스가 포함되어 있기 때문에 나는 이것을 묻는거야, 그리고 그것을 할 때 업데이트 싶습니다 pq.top();
.std :: priority_queue <> 정렬 자체는 언제입니까?
#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;
}
감사합니다.
당신은 쉽게 그 특성을 발견 할 수 있습니다. 비교할 때마다 (예를 들어) 콘솔에 출력하는 비교 술어를 제공하면, 호출 될 때 (그리고 어떤 값으로) 살아남을 수 있습니다. –