Stek, navbat va deklarni bog’langan ro’yhat ko’rinishida ifodalash
Oldingi ma’ruzalarda stek, navbat, dek tuzilmalari xaqida to’htalgan edik.Bu tuzilamalar
yarimstatik bo’lganligi sababli ularni dasturda statik yoki dinamik ko’rinishda ifodalash mumkin.Statik
ko’rinishda ifodalaganda ularni dasturda masalan
massiv shaklda ifodalab, yarimstatiklik shartini
buzmagan xolda ishlatish mumkin. Ya’ni elementlarga muroyaat navbatda boshidan, elementlarni kiritih
esa oxiridan amalga oshiriladi va o’rtadan muroyaat mumkin emas. Ana
shu shartni qanoatlantirgan
xoda istalgan ko’rinishda ifodalash mumkin. Demak, yarimstatik tuzilmalarni dinamik ko’rinishda xam
ifodalash mumkin, faqat elementlarni kiritish va chiqarishda ularning xususiyatlarini saqlab qolishga
axamiyat berish kerak.
Navbatni chiziqli bir bog’lamli ro’yhat ko’rinishida tasvirlash
stekni chiziqli bir bog’lamli ro’yhat ko’rinishida tasvirlash
Ushbu ko’rinishda stek tuzilmasini tashkil etish va ustida amal bayarish algoritmini ko’rib chiqamiz:
1.
Yangi element yaratish
2.
Uninginfomaydonigama’lumotkiritish
3.
Agar ro’yhat bo’sh bo’lsa, ro’yhat boshi ko’rsatkichini ushbu elementga to’g’irlaymiz
va yangi
element ptr maydoniga NULL yozamiz, ya’ni
if(Lst==NULL){ p->ptr=NULL; Lst=p}
Lst
4.
Aks xolda, ya’ni ro’yhat bo’sh bo’lmasa, yangi yaratilayotgan elementptr
maydoniga ro’yhatning 1-element adresini yozamiz
p->ptr=Lst;
5.
Ro’yhat
boshi
ko’rsatkichini
yangi
elementga
to’girlaymiz.
Lst=p;
Stekka yangi element kiritish dastur kodini keltiramiz.
class Node{
public:
int info;
Node* ptr; };
int main()
{ Node* Lst = NULL;
Node* p = new Node;
int numb; cout<<"son kiriting: ";
cin>>numb;
p->info = numb;
p->ptr = Lst;
Lst = p;