Berilganlarning abstract turlari. Dinamik ma’lumotlar tuzilmasi


Chiziqli bir tomonlama yo’nalgan ro’yxatlar



Download 0,56 Mb.
Pdf ko'rish
bet2/7
Sana31.12.2021
Hajmi0,56 Mb.
#247983
1   2   3   4   5   6   7
Bog'liq
Berilganlarning abstract turlari. Dinamik ma’lumotlar tuzilmasi

Chiziqli bir tomonlama yo’nalgan ro’yxatlar. 

 

2-rasm 




Bir bog’lamli ro’yxat deb elementlarning shunday tartiblangan 

ketmaketligiga aytiladiki, har bir element 2 ta maydonga: 

informatsion maydon info va ko’rsatkich maydoni ptr ga ega 

bo’ladi (2-rasm). Mazkur ko’rinishdagi ro’yxat elementi 

ko’rsatkichining o’ziga xosligi shundan iboratki, u faqatgina 

ro’yxatning navbatdagi (o’zidan keyin keluvchi) elementi 

adresini ko’rsatadi. Bir tomonlama yo’naltirilgan ro’yxatda eng 

so’ngi element ko’rsatkichi bo’sh, ya’ni NULL bo’ladi. Lst – 

ro’yxat boshi ko’rsatkichi. U ro’yxatni yagona bir butun sifatida 

ifodalaydi. Ba’zan ro’yxat bo’sh bo’lishi ham mumkin, ya’ni 

ro’yxatda bitta ham element bo’lmasligi mumkin. Bu holda lst 

= NULL bo’ladi. Hozir chiziqli bir bog’lamli ro’yxat 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’yxatimiz butun 

sonlardan iborat. Endi ro’yxat elementlarini shu toifa orqali 

e’lon qilsak bo’ladi, ya’ni  

Node *lst = NULL;// ro’yxat boshi ko‘rsatkichi 

 Node *last = NULL;// ro’yxatga oxirgi kelib tushgan 

elementning ko‘rsatkichi. 

Endi shu belgilashlar orqali ro’yxat hosil qilamiz.  

Node * p = new Node;  

int numb = -1;  

cout<<"son kiriting: ";  

cin>>numb;  

 p->info = numb; 

 p->next = NULL;  

if (lst == NULL) { lst = p; last = p; }  

else 



 last->next = p; 

 last = p;  

}  

Bu dasturda yangi element ro’yxat oxiridan kelib qo’shiladi. Bir 

bog’lamli ro’yxatlar ustida amallar bajarish algoritmlari  

Bir bog’lamli ro’yxat boshiga element qo’yish. 

 



3-rasm 

3-rasmdagi ro’yxat boshiga informatsion maydoni D 

o’zgaruvchi bo’lgan element qo’yamiz. Ushbu ishni 

amalga oshirish uchun quyidagi amallarni bajarish lozim 

bo’ladi: a) p ko’rsatkich murojaat qiladigan, bo’sh element 

yaratish (4-rasm). 

 

b) Yaratilgan element informatsion maydoniga D 



o’zgaruvchi qiymatini o’zlashtirish (5-rasm) 

 

c) Yangi elementni ro’yxat bilan bog’lash: p->ptr=lst; (shu 



holatda yangi element va lst – ro’yxat boshini ko’rsatyapti) 

d) lst ko’rsatkichni ro’yxat boshiga ko’chirish (6-rasm). 

lst=p; Va nihoyat: 

 

Endi shu algoritmni C++ tilidagi realizatsiyasini ko’rib 



chiqamiz.  

Node * p = new Node; 

 int numb = -1;  

cout<<"son kiriting: ";  

cin>>numb;  


p->info = numb;  

if (lst ==NULL) 



 p->next = NULL; 

 lst = p; 

 } else 

 { 

 p->next = lst;  

lst = p; 

}  


Download 0,56 Mb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish