Ikki bog'lamli ro'yhatlar Reja


Stek, navbat va deklarni bog’langan ro’yhat ko’rinishida ifodalash


Download 0.54 Mb.
Pdf ko'rish
bet3/6
Sana23.12.2022
Hajmi0.54 Mb.
#1045627
1   2   3   4   5   6
Bog'liq
xalqasimon bog\'lamali royxatlar

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’niif(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; 
Stekdan element chiqarish amali xam huddi shu tomondan amalga oshiriladi. 


 
Dastur kodini keltiramiz. 
Node* p = new Node; 
if (Lst == NULL) 
cout<<"ro'yhat bo'sh"; 
else { p = lst; 
lst = p->next ; 
delete(p); 


Download 0.54 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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