Стек асосий функциялари.
void pop(struct stack*p) – Стек оҳиридаги элементни ўчириш.
void push(struct stack*p, void* val) –Стек oxiriga element qo’shish. Bu yerda val kiritilayotgan ma’lumotga ko’rsatkich.
char* top(struct stack p) – Стек oxiridagi tugun axborot qismiga ko’rsatkich qaytarish.
int empty(struct stack p) – Стек bo’shligini tekshirish.
int size (struct stack p) – Стек elementlari soni.
Masala: [], {} va () uchta tiplardan tashkil topgan satr berilgan. Qavslar to’g’ri qo’yilganligini tekshiring (boshqa simvollarga qaramagan holda).
Masalan:
[()]{} ][ [({)]}
Yechim: qavslar ichma ichligini hisoblagich. Agarda hisoblagich 0 bo’lsa, qavs to’gri qo’yilgan bo’ladi.
[ ( ( ) ) ] { }
Algoritm:
Boshida stek bo’sh;
Sikl boshida satr barcha simvollarini tartib bo’yiicha ko’rib
chiqamiz;
Agar navbatdagi simvol ochiladigan qavs bo’lsa, uni stek
boshiga o’tkazamiz;
Agar simvol yopiladigan qavs bo’lsa, stek boshini tekshiramiz: u yerda berilgan qavsga mos ochiluvchi qavs bo’lishi lozim
(agarda bunday bo’lmasa, u holda xatolik);
5)Agar stek oxiri bo’sh bo’lmasa, u holda ifoda noto’g’ri.
Dastur kodi:
3. Xulosa
Men bu mustaqil ishda Яримсатик malumotlar tuzilmasi hamda Стек xossalari haqida o’rgandim. Yana Стекni massiv shaklida hosil qilishni korib chiqdim. Стекning oziga hos xususiyati yani unga elementlar faqat bir tomon kiritilishi chiqarilishi mumkunligini va faqat kiritilgan yo’lakdan chiqish mumkinligini bilib oldim. Яримсатик malumotlar ozgaruvchan uzunlikka ega va uni ozgartiruvchi oddiy funksiyalariga ega деб tavsiflanishini bilib oldim
4. Foydalanilgan adabiyotlar:
1)Xudoyberdiyev M.X., Akbaraliyev B.B. “Ma‟lumotlat tuzilmasi va algoritmlar fanidan amaliy mashgulotlar uchun topshiriqlar (uslubiykorsatmalari bilan). Toshklent, 2013 y
2)Жемчужины программирования. СПб.: Питер, 2002.-272
Foydalanilgan saytlar:
1) www.coursehero.com
2) www.n.ziyouz.com
3) www.pinterest.com
4) www.circuitstoday.com
5) www.vdocuments.mx
6) www.researchgate.com
http://fayllar.org
Do'stlaringiz bilan baham: |