Bajardi: S2-kt-21 guruh talabasi Qabul qildi: Nurova H. N


Stack ustidagi asosiy amallar


Download 0.49 Mb.
bet2/5
Sana14.03.2023
Hajmi0.49 Mb.
#1267058
1   2   3   4   5
Bog'liq
Dasturlashda stek va navbat

Stack ustidagi asosiy amallar


  • Stackga element qo’shish (Push)

  • Stackdan elementni olish. Element o’chiriladi (Pop)

  • Stackdagi top elementni ko’rish. Element o’chirilmaydi (Peek)

  • Stackni bo’shlikka tekshirish (isEmpty)


Queue (Navbat)


Queue ham Stack singari chiziqli ma’lumot tuzilmasi bo’lib, hayotdagi oddiy navbat singari ishlaydi. Shu sababli Stackdan farqli o’laroq Queueda eng oxirgi qo’shilgan elementga emas birinchi qo’shilgan elementga birinchi bo’lib “xizmat ko’rsatiladi”. Operatsiyalarni bunday ko’rinishda amalga oshirilishi esa FIFO (First In First Out) deb ataladi. Queueni tasavvur etish uchun quyidagi rasmning o’zi yetarli deb o’ylayman

Queuega dasturiy misollar sifatida printerga narsalarni chop qilishni uzatishni, yoki protsessor operatsiyalarni amalga oshirish jarayonini misol keltirish mumkin (protsessor ishlashi har doim ham FIFO ga asoslanmaydi). Yanayam qiziqrog’i hammamiz yoshligimizda (yoki hozir ham) o’ynashni yaxshi ko’rgan iloncha o’yinini Queuega misol qilish mumkin

Queueda biz ikkita tugun adresini xotirada saqlashimiz kerak bo’ladi. Navbat boshida turgan element uchun front, eng oxirgi element uchun rear yoki back.

Queue ustidagi asosiy amallar


  • Elementni navbat oxiriga qo’shish (Enqueue)

  • Elementni navbat boshidan chiqarib olish. Element o’chiriladi (Dequeue)

  • Navbat boshidagi elementni ko’rish. Element o’chirilmaydi (Peek)

  • Navbatni bo’shlikka tekshirish (isEmpty)



C++ tilida navbatni statik, ya’ni bir olchamli massiv korinishda amalga oshirishga misol:
Navbat uchun 10 ta joy ajratilgan bo‘lsin, navbatni butun sonlardan iborat massiv shaklida ifodalaymiz. Bunda navbat dastlab bo‘shligi sababli, navbat oxiri ko‘rsatkichi R=0 bo‘ladi. Navbatga yangi element qo‘shish va navbatdan elementni chiqarib olish algoritmi, navbat bo‘shligini va to‘laligini tekshirish algoritmlari quyidagi dasturda keltirilgan.
Masala. Butun sonlardan iborat navbatning juft elementlarini o‘chirish dasturini keltiramiz.

Algoritm

  1. Agar navbat to‘lmagan bo‘lsa unga element kiritamiz, kiritib bo‘lgach keyingi 2-qadamga o‘tish, aks holda navbat to‘lganligini xabar berib, keyingi 2-qadamga o‘tish.

  2. Agar navbat bo‘sh bo‘lmasa 3-qadamga o‘tamiz, aks holda 4-qadamga o‘tamiz.

  3. Navbatning chiqishiga kelib turgan elementni olib, juftlikka tekshiramiz. Agar element toq bo‘lsa, uni navbatga kiritamiz. 2-qadamga o‘tish.

  4. Navbat bo‘sh bo‘lsa, bu haqda xabar berib keyingi 5-qadamga o‘tamiz.

  5. Navbat tarkibini ekranga chiqaramiz.



Download 0.49 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling