13-14-ma’ruza.
Yarimstatik ma’lumotlar tuzilamasi. Navbat, stek va dek.
Reja.
1. Yarimstatik ma’lumotlar tuzilmalari.
2. Stek tuzilmasi va uni dasturda amalga oshirish, ustida amal bajarish
3. Navbat tuzilmasi va dasturda ifodalanishi, ustida amal bajarilishi
4. Deklar. Ustida amal bajarish
Kalit so’zlar: navbat, stek, dek, yarimstatik tuzilmalar.
Yarimstatik ma’lumotlar tuzilmalari
Yarimstatik ma’lumotlar tuzilmalari deb nomlangan
shunaqa tuzilmalar
borki, ular ba’zi bir xususiyatlari bilan statik tuzilmalarga, ba’zi bir xususiyatlari
bilan dinamik tuzilmalarga o’xshagan bo’ladi. Ya’ni dastur bajarilishi mobaynida
tuzilma uzunligining o’zgaruvchanligi dinamiklik xususiyati bo’lsa, elementlari
xotirada ketma-ket joylashishi statik tuzilmalarga o’xshash bo’ladi.
Yarimstatik
ma’lumotlar tuzilmasi bir xil toifadagi elementlar ketma-ketligi hisoblanadi va
unga
-
Steklar
- Navbatlar
-
Deklar
kiradi. Deyarli barcha zamonaviy dasturlash tillarida yuqorida keltirilgan
tuzilmalat bilan ishlash uchun kutubxonalar mavjud.
Va ular konteyner
ko’rinishida realizatsiya qilingan. Shuni aytib o’tish kerakki, bu yarimstatik
tuzilmalarni dasturda statik tuzilma ko’rinishida
xam va dinamik tuzilma
ko’rinishida xam ifodalash mumkin, faqat yarimstatiklik
shartlarini buzmagan
holda, ya’ni bu tuzilmalarning barchasida ixtiyoriy elementlarga tashqaridan
murojaat qilib bo’lmaydi.
Steklar
Stek - chiziqli ma’lumotlar tuzilmasi bo’lib, ma’lumotlarni
kiritish va
chiqarish uning bir tomonidan amalga oshiriladi. Bunday stek kafeteriyadagi
tarelkalar to’plamini eslatadi. Yangi elementlar stekning uchiga qo’yiladi va
yuqori qismidan olinadi. Oxirgi qo’yilgan element stek uchidan birinchi bo’lib
olinadi.
Shu sababli, stek LIFO (last in first out) tuzilishidagi ma’lumotlar
tuzilmasi bo’ladi, ya’ni, “oxirgi kelgan birinchi ketadi” prinsipi bo’yicha
ishlaydi.
Stek o’lchami cheklangan bo’lsa, elementni stekka qo’yilishi stekda
kamida bitta elementga joy bo’lgan holdagina amalga oshiriladi. Shuning uchun
stek ustida amal bajarishdan oldin stek holatini tekshirish lozim bo’ladi,ya’ni
- Stekka element kiritilishidan oldin joy borligini tekshirish;
- Stekdan elementni o’chirishdan oldin element borligini tekshirish.
Steklar bilan ishlash uchun C++ tilida tayyor kutubxona mavjud bo’lib, unga
dastur boshida
#include deb murojaat qilish kerak. Dasturda stek e’lon
qilish uchun quyidagicha yozish kerak.