Bu — "Stack" bo'limining yakuniy mashqi. Bo'lim davomida siz LIFO (Last In, First Out) tushunchasini, push va pop amallarini hamda stack ning amaliy qo'llanishini (tarix, bekor qilish) o'rgandingiz.
Bu bo'limda o'rgangan asosiy vositalar:
stack.append(x) — push (tepaga qo'shish)stack.pop() — eng tepadagi elementni olib chiqishif not stack: — stack bo'sh ekanini tekshirishQavslar muvozanati — stack ning klassik qo'llanishi: har ( ni stackka qo'shamiz, har ) uchun stackdan bittasini olib tashlaymiz. Oxirida stack bo'sh bo'lsa — ifoda muvozanatli.
Bu darsda stack ning klassik amaliy masalasini yechamiz — qavslar muvozanatini tekshirish. Dasturlash tillarida, matematik ifodalarda qavslar to'g'ri ochilgan va yopilgan bo'lishi kerak.
Misollar:
| Kiritish | Chiqish |
|---|---|
(()) | Muvozanatli |
(() | Muvozanatsiz |
((())) | Muvozanatli |
)( | Muvozanatsiz |
()() | Muvozanatli |
Dastur yozing:
( va ) qavslar muvozanatini tekshiring"Muvozanatli" yoki "Muvozanatsiz" chiqaring