मैं सोच रहा था कि सी ++ एसटीएल priority_queue
स्वयं ही कहता है। मेरा मतलब यह है कि insert
यह सही जगह पर है जब आप push
आइटम में हैं, या यह स्वयं को सॉर्ट करता है और आपको peek
या pop
पर उच्च प्राथमिकता का आइटम देता है? मैं यह पूछ रहा हूं क्योंकि मेरे priority_queue<int>
में एक सरणी में एक इंडेक्स होगा जिसमें मूल्य अपडेट हो सकते हैं, और जब मैं pq.top();
करता हूं तो मैं इसे अपडेट करना चाहता हूं।एक std :: primary_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;
}
धन्यवाद।
आप आसानी से उन गुणों की खोज कर सकते क्योंकि जैसे 'map' यह एक तुलना विधेय लेता है। यदि आप एक तुलना की भविष्यवाणी करते हैं जो प्रत्येक तुलना में कंसोल (उदाहरण के लिए) पर प्रिंट करता है, तो जब आप इसे बुलाया जाता है तो आप लाइव देखेंगे (और किस मान पर)। –