“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”


 Chiziqli bir tomonlama yo„nalgan ro„yhatlar



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə24/56
tarix08.09.2023
ölçüsü1,33 Mb.
#142109
1   ...   20   21   22   23   24   25   26   27   ...   56
dokumen.tips aoemaalumotlar-tuzilmasi-va-ekvivalentlik-implikatsiya-chiqarib-tashlash-va

 
3.2. Chiziqli bir tomonlama yo„nalgan ro„yhatlar 
3.2-rasm. Chiziqli bir bog„lamli ro„yhatlar 


50 
Bir bog„lamli ro„yhat deb elementlarning shunday tartiblangan ketma-
ketligiga aytiladiki, har bir element 2 ta maydonga: informatsion maydon 
info
va 
ko„rsatkich maydoni 
ptr
ga ega bo„ladi (3.2-rasm).
Mazkur ko„rinishdagi ro„yhat elementi ko„rsatkichining o„ziga xosligi 
shundan iboratki, u faqatgina ro„yhatning navbatdagi (o„zidan keyin keluvchi) 
elementi adresini ko„rsatadi. Bir tomonlama yo„naltirilgan ro„yhatda eng so„ngi 
element ko„rsatkichi bo„sh, ya‟ni 
NULL
bo„ladi.
Lst
– ro„yhat boshi ko„rsatkichi. U ro„yhatni yagona bir butun sifatida 
ifodalaydi. Ba‟zan ro„yhat bo„sh bo„lishi ham mumkin, ya‟ni ro„yhatda bitta ham 
element bo„lmasligi mumkin. Bu holda 
lst = NULL
bo„ladi. Hozir chiziqli bir 
bog„lamli ro„yhat hosil qilish dasturini ko„rib chiqsak. Buning uchun biz 
foydalanuvchi tomonidan yaratiladigan nostandart toifa yaratib olishimiz kerak. 
Buning bir qancha usullari mavjud, ya‟ni klasslar yoki strukturalar bilan amalga 
oshirish mumkin. Masalan,
class Node{ 
public://klass ma’lumotlariga tashqaridan bo‘ladigan murojaatga ruxsat 
berish 
int info; // informatsion maydon 
Node* next;// ko‘rsatkichli maydon 
}; 
Bu yerda biz 
Node 
nomli toifa yaratdik va ro„yhatimiz butun sonlardan 
iborat. Endi ro„yhat elementlarini shu toifa orqali e‟lon qilsak bo„ladi, ya‟ni 
Node *lst = NULL;// ro‘yhat boshi ko‘rsatkichi 
Node *last = NULL;// ro‘yhatga oxirgi kelib tushgan elementning 
ko‘rsatkichi 
Endi shu belgilashlar orqali ro„yhat hosil qilamiz. 
Node * p = new Node; 
int numb = -1; 
cout<<"son kiriting: "; 
cin>>numb;


51 
p->info = numb; 
p->next = NULL; 
if (lst == NULL) { 
lst = p; 
last = p; 

else{ last->next = p; 
last = p; } 
Bu dasturda yangi element ro„yhat oxiridan kelib qo„shiladi. 
Bir bog„lamli ro„yhatlar ustida amallar bajarish algoritmlari 

Yüklə 1,33 Mb.

Dostları ilə paylaş:
1   ...   20   21   22   23   24   25   26   27   ...   56




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin