Ma’lumotlar tuzilmasi va algoritmlar” fanidan 7- laboratoriya ishini bajarishga namuna


Download 271.5 Kb.
bet3/4
Sana20.01.2023
Hajmi271.5 Kb.
#1103622
1   2   3   4
Bog'liq
7. Stek usulda amallar. Steklarni massiv va ro‘yxatlar yordamida ishlov berish

maxsize - navbatda ruxsat etilgan elementlar soni.

  • empty() - Agar navbat bo'sh bo'lsa, True, aks holda False qaytariladi.

  • full() - Agar navbatda maksimal o'lchamdagi elementlar mavjud bo'lsa, True qiymatini qaytaring. Agar navbat maxsize=0 (standart) bilan ishga tushirilgan bo'lsa, full() hech qachon True qiymatini qaytarmaydi.

  • get() - navbatdan elementni olib tashlash va qaytarish. Agar navbat bo'sh bo'lsa, element mavjud bo'lguncha kuting.

  • get_nowait() - agar mavjud bo'lsa, elementni qaytaring, aks holda QueueEmpty ko'taring.

  • put (item) - elementni navbatga qo'ying. Agar navbat to'lgan bo'lsa, elementni qo'shishdan oldin bo'sh joy bo'lguncha kuting.

  • put_nowait(item) - elementni blokirovka qilmasdan navbatga qo'ying.

  • qsize() - navbatdagi elementlar sonini qaytaradi. Agar bepul slot darhol mavjud bo'lmasa, QueueFull qiymatni qaytaring.

    from queue import LifoQueue
    stack = LifoQueue(maxsize=3)
    # qsize() elementlar sonini ko'rsatadi
    print(stack.qsize())
    stack.put(356)
    stack.put(526)
    stack.put(889)
    print("Element mavjudmi: ", stack.full())
    print("O'lchami': ", stack.qsize())
    print("Quyidagi elementlar stekdan olib tashlandi:")
    print(stack.get())
    print(stack.get())
    print(stack.get())
    print("Stek bo’sh: ", stack.empty())

    Output: 

    0

    Element mavjudmi: True

    O'lchami': 3

    Quyidagi elementlar stekdan olib tashlandi:

    889

    526

    356

    Stek bo’sh: True

    Stekni bir bog'langan ro'yxat yordamida amalga oshirish. Bog'langan ro'yxatda doimiy vaqtda ishlaydigan ikkita addHead(item) va removeHead() usullari mavjud. Ushbu ikki usul stekni amalga oshirish uchun mos keladi. 

  • 1   2   3   4




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