Bajardi: S2-kt-21 guruh talabasi Qabul qildi: Nurova H. N


Stek (asosiy funksiyalar)


Download 0.49 Mb.
bet4/5
Sana14.03.2023
Hajmi0.49 Mb.
#1267058
1   2   3   4   5
Bog'liq
Dasturlashda stek va navbat

Stek (asosiy funksiyalar)

  • void pop(struct stack*p) – stek oxiridagi elementni o’chirish.

  • void push(struct stack*p, void* val) –stek oxiriga element qo’shish. Bu yerda val kiritilayotgan ma’lumotga ko’rsatkich.

  • char* top(struct stack p) – stek oxiridagi tugun axborot qismiga ko’rsatkich qaytarish.

  • int empty(struct stack p) – stek bo’shligini tekshirish.

  • int size (struct stack p) – stek elementlari soni.

  • Bundan tashqari stekni inisiallash uchun quyidagi sarlavhali funksiya kiritilgan

  • void ini_stack (struct stack* p, int n) - n kiritilayotgan ma’lumotlar hajmi.

  • Stek (misol)

  • Misol. Stek 4 ta sondan tashkil topgan bo’lsin. Ular o’z navbatida 0, 1, 2 va 3 bilan raqamlangan. h = 4 ga teng, ya’ni stekda 4 ta son bor va keyingi qo’shilayotgan sonni o’rni stek massivida 4 bo’ladi. Stekni massiv orqali quyidagicha tasvirlash mumkin:


  • Stek (misol)

  • Stek boshiga element qo’shish uchun qiymatni yozamiz va h ko’rsatkichni oshiramiz:

  • a[h ++] = k;

  • Stekga qiymati k=9 sonini qo’shish jarayonini quyidagicha grafik ko’rinishda tasvirlash mumkin:


  • Stek (misol)

  • k = a[ -- h];

  • Stek boshidan elementni chiqarish uchun teskari amaldan foydalanish lozim:

  • Bo’sh stekning boshidagi ko’rsatkichi h = 0 ga teng. Massivga element qo’shish va o’chirish davomida stek boshi massiv bo’ylab ko’chib turadi.


Navbatni amalga oshirish


Navbat ikki usulda amalga oshirilishi mumkin:

  1. Statik amalga oshirish: Agar navbat massivlar yordamida amalga oshirilsa, biz navbatda saqlamoqchi bo'lgan elementlarning aniq sonidan oldin ishonch hosil qilishimiz kerak, chunki massivning kattaligi loyihalash paytida yoki ishlov berish boshlanishidan oldin e'lon qilinishi kerak.
    Bunday holda, qatorning boshi navbatning old qismiga aylanadi va massivning oxirgi joylashuvi navbatning orqa qismi sifatida ishlaydi. Quyidagi munosabat massivlar yordamida amalga oshirilganda barcha elementlarning navbatdagi mavjudligini beradi:
    old - orqa + 1
    Agar "orqa

  2. Dinamik dastur: Ko'rsatkichlar yordamida navbatlarni amalga oshirish, asosiy kamchilik shundaki, bog'langan vakolatxonadagi tugun massiv tasviridagi mos keladigan elementga qaraganda ko'proq xotira maydonini sarf qiladi.
    Ma'lumotlar maydoni uchun har bir tugunda kamida bittadan maydon mavjud, ikkinchisi esa keyingi tugunning manzilini saqlashi kerak, bog'langan vakolatxonada esa faqat ma'lumotlar maydoni mavjud. yoki boshqa elementlar guruhi o'rtasida elementni o'chirish.

Download 0.49 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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