• 3-rasm. Navbat ma’lumotlar strukturasi
  • C++ tilida navbatni realizatsiya qilish. Agar siz C++da navbat shablonidan foydalanmoqchi boʻlsangiz, unda avval < queue
  • Samarqand davlat universiteti o. R. Yusupov, I. Q. Ximmatov, E. Sh. Eshonqulov




    Download 4,61 Mb.
    Pdf ko'rish
    bet29/111
    Sana18.05.2024
    Hajmi4,61 Mb.
    #241929
    1   ...   25   26   27   28   29   30   31   32   ...   111
    Bog'liq
    ALGORITMLAR VA MA‟LUMOTLAR STRUKTURALARI

    2.2. Navbat 
    Navbat. 
    Navbat - bu FIFO (First In - First Out - "birinchi kelgan – 
    birinchi ketadi") prinsipi boʻyicha qurilgan ma‘lumotlar strukturasi. 
    Navbatda, agar siz avval kiritilgan elementni qoʻshsangiz, u birinchi 
    boʻlib chiqadi. Agar 4 ta element qoʻshsangiz, birinchi qoʻshilgan 
    element birinchi boʻlib chiqadi. 
    Navbat qanday ishlashini tushunish uchun siz xarid qilish navbatini 
    tasavvur qilishingiz mumkin va siz uning oʻrtasida turibsiz, shunda siz 
    kassaga qarama-qarshi boʻlasiz, avval siz oldingizdagi barcha odamlarga 
    xizmat qilishingiz kerak boʻladi. Ammo navbatda turgan oxirgi odam 
    uchun kassir oʻzidan boshqa barcha odamlarga xizmat qilishi kerak. 
    3-rasm. Navbat ma’lumotlar strukturasi 
    Rasmda 7 ta raqam mavjud: 2, 4, 7, 1, 4, 9, 10. Agar ularni ajratib 
    olishimiz kerak boʻlsa, biz ularni rasmdagi kabi tartibda chiqaramiz! 
    Masalan, 4-raqamni ajratib olish uchun avval 2-raqamga, soʻngra 4-
    raqamga xizmat koʻrsatishimiz kerak. 
    Stekda peek() funksiyasi mavjud boʻlsa-da (bu elementga indeks 
    boʻyicha kirishga imkon beradi), navbat shablonidagi ma‘lum bir 
    elementga murojaat qilish mumkin emas. 
    Agar siz navbatning barcha elementlariga kirishingiz kerak boʻlsa, 
    unda siz navbatni massiv orqali amalga oshirishingiz mumkin. Quyida 
    biz buni qanday bajarilishini koʻrib chiqamiz. 
    C++ tilida navbatni realizatsiya qilish. 
    Agar siz C++da navbat 
    shablonidan foydalanmoqchi boʻlsangiz, unda avval <
    queue

    kutubxonasini kiritishingiz kerak. Bundan tashqari, navbatni e‘lon qilish 
    uchun quyidagi strukturani ishlatishingiz kerak. 


    37 
    queue  
    Misol uchun: 
    queue  navbat; 
    Navbatning metodlari.
    Navbat bilan ishlash uchun funksiyalarni 
    bilish kerak: push(), pop(), front(), back(), empty(). 
    1. Navbatga yangi element qoʻshish uchun 
    push()
    funksiyasidan 
    foydalanish kerak. Qavslar tarkibida biz qoʻshmoqchi boʻlgan qiymat 
    boʻlishi kerak. 
    2. Agar biz birinchi elementni olib tashlashimiz kerak boʻlsa, 
    pop()
    funksiyasi bilan ishlashimiz kerak. Qavslar ichida endi koʻrsatilishi 
    kerak boʻlgan narsa yoʻq, lekin qoidalarga koʻra, ular albatta mavjud 
    boʻlishi kerak. Ushbu funksiyalarga argument kerak emas: empty(), 
    back() va front(). 
    3. Agar navbatning birinchi elementiga murojaat qilishingiz kerak 
    boʻlsa, unda 

    Download 4,61 Mb.
    1   ...   25   26   27   28   29   30   31   32   ...   111




    Download 4,61 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Samarqand davlat universiteti o. R. Yusupov, I. Q. Ximmatov, E. Sh. Eshonqulov

    Download 4,61 Mb.
    Pdf ko'rish