Stackni yaxshiroq tasavvur qilishingiz uchun hayotiy misol sifatida rasmdagi idishga solingan sharlarni misol qilib keltirishimiz mumkin: Stackni yaxshiroq tasavvur qilishingiz uchun hayotiy misol sifatida rasmdagi idishga solingan sharlarni misol qilib keltirishimiz mumkin: Sharchalardan birorta olishimiz kerak bo’lsa faqat eng ustidan boshlab olish imkoniyatimiz bor(o’rtasidan yoki oxiridan emas). Yangi sharchani qo’ymoqchi bo’lsak ham eng ustiga qo’ya olamiz. Demak biz Stack to’plami ustida quyidagi amallarni bajara olamiz: Sharchalardan birorta olishimiz kerak bo’lsa faqat eng ustidan boshlab olish imkoniyatimiz bor(o’rtasidan yoki oxiridan emas). Yangi sharchani qo’ymoqchi bo’lsak ham eng ustiga qo’ya olamiz. Demak biz Stack to’plami ustida quyidagi amallarni bajara olamiz: - Push() – Stackga yangi element qo’shadi. Element Stackga eng yuqorisidan qo’shiladi (huddi quyidagi rasmdagidek);
- Pop() – Stackga oxirgi qo’shilgan element qiymatini qaytarib, bu elementni Stackdan olib tashlaydi. Elementni olib tashlanayotganda oxiri qo’shilgani birinchi bo’lib chiqib ketadi;
- Peek() – Stackning eng yuqorisidagi (oxirgi qo’shilgan) element qiymatini qaytaradi, lekin Stackdan olib tashlamaydi;
- Count – Stackdagi elementlar sonini qaytaradi;
- Clear() – Stackdagi barcha elementlarni o’chirib yuboradi. Bundan so’ng Stackdagi elementlar soni 0 ga teng bo’lib qoladi;
- Contains() – Stackda biror element bor yoki yo’qligini tekshiradi. Bor bo’lsa true, yo’q bo’lsa false qiymat qaytaradi.
Savol tug’ilishi mumkin: Shuncha cheklovlarga ega bo’lgan to’plam dasturlashda nima uchun kerak? Biror qulayligi bormi? Albatta. Masalan, siz ko’p marta ishlatadigan Undo/Redo (Ctrl+Z/Ctrl+Y) ni ishlatganingizda bajargan ishlaringizni Stackga yozib boradi. Ctrl+Z qilganingizda oxirgi qilgan amalingiz birinchi bo’lib orqaga qaytadi va boshqa bo’sh stackga joylanadi (ikkinchi stack Ctrl+Y qilganingizda kerak bo’ladi). Yoki yana bir misol brauzeringizdagi avvalgi yoki keyingi ochilgan web-sahifalarga o'tish uchun ishlatiladigan back/forward tugmachalari ham Stack yordamida ishlaydi.
Do'stlaringiz bilan baham: |