4-ma’ruza mavzu: konteynerlarning adapterlari. Reja


Ustuvor navbat (Priority_queue)



Yüklə 101,97 Kb.
səhifə3/9
tarix13.03.2023
ölçüsü101,97 Kb.
#87657
1   2   3   4   5   6   7   8   9
7mR4KWxfJ8qoGNevKKGw6M3I810z9dkwz8bcQr7T

Ustuvor navbat (Priority_queue). Ustuvor navbat (Priority_queue) bilan navbat (queue) - oddiy navbatdek, lekin ustuvor navbatga yangi element qo‘shilasa, shunda navbat kamayish tartibida saralanadi. Shu tariqa ustuvor navbatda eng katta element birinchi o‘ringa chiqadi. Ustuvor navbat shablonidan quyida sintaktik orqali foydalanish kerak:

priority_queue ;

Birinchi priority_queue so‘zini yozishimiz kerak.
Type ga navbatni to‘ldirish uchun kerakli tipni ko‘rsatishimiz lozim. Navbat obʻyektining nomini ko‘rsatishamiz kerak.
Ustivor navbatda yangi element qo‘shish uchun push() funksiyasi, birinchi o‘rindagi elementiga murojaat qilish uchun top() funksiyasi ishlatiladi. Front() – funksiyasi ishlatilmaydi. Shuningdek, back() – oxirgi elementga murojaat funksiyasi ham ishlatilmaydi.
4.7-dastur. Ustuvor navbatni (Priority_queue) yaratish va usullaridan foydalanish.


// Created by MBBahodir #include "stdafx.h" #include #include using namespace std;

int main() {






priority_queue priority_q, priority_q_one;
for (int h = 0; h < 7; h++) { priority_q.push(rand()%100);
}
priority_q_one = priority_q;
cout << "priority_q navbatdigi birinchi element " << priority_q.top() << endl; cout << " priority_q_one navbatdigi birinchi element " << priority_q_one.top() <<
endl;
priority_q.pop();
cout << "priority_q navbatdigi birinchi element (oʻchirishdan soʻng): " << priority_q.top() << endl;

cout << "priority_q navbat boʻsh " << (priority_q.empty()?"":"emas") << endl;


while (!priority_q_one.empty())
{
cout << "priority_q_one navbatdigi element : " << priority_q_one.top() <<
endl;
priority_q_one.pop();
}
cout << " priority_q_one navbat boʻsh " << (priority_q_one.empty()?"":"emas") << endl;
system("pause"); return 0;
}

Navbatlarni yaratishni ikki usulini kshrib chiqdik. Queue sinf shabloni va massiv asosida. Aslida ko‘proq queue sinf shablonidan foydalangan maqul. Chunki bu massivga nisbattan tez ishlaydi.

Yüklə 101,97 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin