Stack konteyneri. Stek usulda amallar. Steklarni massiv va ro‘yxatlar yordamida ishlov berish Bajardi: tt301-19 gr


isEmpty() - stek bo'sh bo'lsa True



Download 133,57 Kb.
bet5/5
Sana31.01.2022
Hajmi133,57 Kb.
#419352
1   2   3   4   5
Bog'liq
2 5379999029948061053

isEmpty() - stek bo'sh bo'lsa True, aks holda False qaytaradi.

  • peek() - stekdagi eng yuqori elementni qaytaring. Agar stek bo'sh bo'lsa, istisno qiling.

  • push(item) - qiymatni stek boshiga suring.

  • pop() - stek boshidagi qiymatni olib tashlang va qaytaring. Agar stek bo'sh bo'lsa, istisno qiling.

    Quyida yuqoridagi yondashuvni amalga oshirish ko'rsatilgan:

    class Node:
    def __init__(self, value):
    self.value = value
    self.next = None
    class Stack:
    def __init__(self):
    self.head = Node("head")
    self.size = 0
    def __str__(self):
    cur = self.head.next
    out = ""
    while cur:
    out += str(cur.value) + "->"
    cur = cur.next
    return out[:-3]
    def getSize(self):
    return self.size
    def isEmpty(self):
    return self.size == 0
    def peek(self):
    if self.isEmpty():
    raise Exception("Stekka element qo'shish")
    return self.head.next.value
    def push(self, value):
    node = Node(value)
    node.next = self.head.next
    self.head.next = node
    self.size += 1
    def pop(self):
    if self.isEmpty():
    raise Exception("Stekdan elementlari olish")
    remove = self.head.next
    self.head.next = self.head.next.next
    self.size -= 1
    return remove.value
    # Driver Code
    if __name__ == "__main__":
    stack = Stack()
    for i in range(1, 11):
    stack.push(i)
    print(f"Stek: {stack}")
    for _ in range(1, 6):
    remove = stack.pop()
    print(f"Olindi: {remove}")
    print(f"Stek elementlari: {stack}")

    Output: 
    Stek: 10->9->8->7->6->5->4->3->2->
    Olindi: 10
    Olindi: 9
    Olindi: 8
    Olindi: 7
    Olindi: 6
    Stek elementlari: 5->4->3->2->

    Xulosa
    Men 301-19 guruh talabasi ______________________________ ushbu mustaqil ishni bajarish davomida yarimstatik ma’lumotlar tuzilmasi va navbat tuzilmalarini ishlash algoritmlarini tahlil qilib chiqdim.


    Menga berilgan individual topshiriqni algoritm va dasturiy ta’minotini ishlab chiqdim.
    Download 133,57 Kb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4   5




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

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish