Sobes.tech
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() әрқашан ең үлкен мәнді элементті қайтарады.