Junior — Middle
Priority_queue деректер құрылымы дегеніміз не және ол қалай жұмыс істейді?
sobes.tech AI
AI-дан жауап
Priority_queue деректер құрылымы — бұл элементтерді приоритетпен сақтауға және ең жоғары приоритетті элементті тез алуға мүмкіндік беретін контейнер.
Оның жұмыс істеу принципі:
- Элементтер белгілі бір приоритетпен кезекке салынады.
- Алып тастау кезінде әрқашан ең жоғары (немесе төмен, баптауға байланысты) приоритетті элемент қайтарылады.
C++ тілінде priority_queue — бұл heap (қойнау) негізінде жүзеге асырылған, бұл енгізу және шығару операцияларын O(log n) уақытында қамтамасыз етеді.
C++-те қолдану мысалы:
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int> pq;
pq.push(10);
pq.push(5);
pq.push(20);
while (!pq.empty()) {
std::cout << pq.top() << " "; // Нәтижесі: 20 10 5
pq.pop();
}
return 0;
}
Мұнда pq.top() әрқашан ең үлкен мәнді элементті қайтарады.