Steklar va navbatlar. Ularni mantiqiy tasvirlash va ustida amallar bajarish algoritmlari Reja Kirish



Yüklə 2,15 Mb.
səhifə4/5
tarix13.12.2023
ölçüsü2,15 Mb.
#176365
1   2   3   4   5
Steklar va navbatlar. Ularni mantiqiy tasvirlash va u

Navbatlar. Navbat bu shunday tuzilmaki, u elementlar qo’shilishi bilan kengayib boradi va elementlarni faqatgina bir tomondan qabul qiladi. Stekdan farqli holda, navbat tuzilmasi har ikkala tomondan ham ochiq hisoblanadi, lekin element kiritish bir tomondan, chiqarish esa ikkinchi tomonidan amalga oshiriladi. Navbat FIFO(first in first out – birinchi kelgan birinchi ketadi) ko’rinishidagi tuzilmadir. Navbatda ham xuddi stekdagi kabi C++ da alohida kutubxona mavjud.
#include
Navbatni dasturda e’lon qilish quyidagicha:
Queue nav1;
Navbat ustida quyidagi amallar bajariladi:

  • Clear() - navbatni tozalash.

  • isEmpty() – navbatni bo’shlikka tekshirish

  • enqueue(el)—el elementni navbatga joylashtirish

  • dequeue() —navbatdan birinchi elementni olish

  • firstEl() — navbatning birinchi elementini uni o’chirmasdan qaytaradi

Navbatda bajariladigan enqueue va dequeue amallari 2.7-rasmda keltirilgan. Steklardan farqli ravishda navbatlarda o’zgarishlar uning oxirida va boshida bo’lishi nazorat qilinishi lozim. Elementlar navbatga oxiridan joylashtiriladi, olish esa boshidan amalga oshiriladi.

2.7-rasm. Navbatda bajariluvchi amallar ketma – ketligi




2.8-rasm. Navbatni massivda amalga oshirilish dasturi.


2.9-rasm. Navbatni bog’langan ro’yxatda amalga oshirilish dasturi
2.10 – rasmda navbatda element qo’shish va o’chirish amallari ketma –ketligi 2.7–rasmdagiga o’xshash ravishda ko’rsatilgan bo’lib, 2.10b da navbatni o’zgarishi massiv ko’rinishida, 2.10c da bog’langan ro’yxat ko’rinishida amalga oshirilgan.

2.10 – rasm. Navbat ustida amallar bajarish.


DEK (DEQ - Double Ended Queue). Dek so‘zi (DEQ - Double Ended Queue) ingliz tilidan olingan bo‘lib 2 ta chetga ega navbat degan ma’noni bildiradi. Dekning o’ziga xos xususiyati shundan iboratki, elementlarni yozish va o’qishni har ikkala chetidan ham amalga oshirish mumkin.

Dekni quyi chegaralari birlashtirilgan ikkita stek ko’rinishda qarash mumkin. Deklar bilan ishlash uchun ham C++ da alohida kutubxona mavjud:

Yüklə 2,15 Mb.

Dostları ilə paylaş:
1   2   3   4   5




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