Ro’yxat elementi quyidagi strukturali tur obyekti
struct slist_node
{
int info;
struct slist_node* next;
};
void delete(struct slist_node*p) – berilgan tugundan keyingi elementni o’chirish
void insert(struct slist_node*p, int nn) - berilgan elementdan keyin element qo’shish
int empty(struct slist_node*beg) – ro’yxat bo’shligini tekshirish
Bu funksiya asosida quyidagi funksiyalar kiritilgan
struct slist_node* creat_slist(int size) – berilgan sondagi tugundan iborat ro’yxatni yaratish. Tugun axborot qismi klaviatura orqali kiritilgan sonlar bilan to’ldiriladi.
void free_slist(struct slist_node* beg) – ro’yxatni o’chirish
void print_slist(struct slist_node* beg) - ro’yxat elementlarini ekranga chiqarish
Stek deb shunday strukturaga aytiladiki, stekka kelib tushgan oxirgi elementga birinchi bo’lib xizmat ko’rsatiladi va stekdan chiqariladi. Mazkur ko’rinishdagi xizmat ko’rsatishni LIFO (Last input-First output, ya’ni oxirgi kelgan – birinchi ketadi) nomlash qabul qilingan. Stek bir tomondan ochiq bo’ladi
Steklar asosan arifmetik ifodali masalalarni tahlil qilishda, perebor (ajratish) li masalalarda hamda graflardagi algoritmlarda ishlatiladi.
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:
Do'stlaringiz bilan baham: |