Ikki bog'lamli ro'yhatlar Reja


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



Ikki bog'lamli ro'yhatlar 
Reja: 
1. Ikki bog’lamli ro’yhatlar va ular ustida amal bayarish algoritmlari 
2. Stek, navbat va deklarni bog’langan ro’yhat ko’rinishida ifodalash 
3. Halqasimon bog’langan ro’yhatlar. 
Kalit so’zlar: ikki bog’lamli ro’yhatlar, ko’rsatkichli maydon, ro’hat 
boshi, ro’yhat oxiri, dinamik ko’rinihda ifodalash, halqasimon ro’yhatlar. 
Ikki bog'lamli ro'yhat 
Ko’pgina masalalarni hal qilishda bir tomonga yo’naltirilgan ro’yhatlardan 
foydalanish ma'lum bir qiyinchiliklarni keltirib chiqaradi. Sababi, bir tomonga 
yo’naltirilgan ro’yhatda har doim bironta elementdan ro’yhatning so’ngi elementi 
tomoniga harakatlanish mumkin. Lekin ko’pgina masalalar hal qilinayotganda 
ma'lum bir elementni qayta ishlash uchun undan oldin kelgan elementga muroyaat 
qilish zarurati paydo bo’ladi. Ushbuholatda berilgan elementdan oldin kelgan 
elementga muroyaat qilish bir bog’lamli ro’yhatda noqulay va ancha sekin amalga 
oshiriladihamda uni amalga oshirish algoritmi murakkablashadi. 
Ushba noqulayliklarni yo’qotish maqsadida ro’yhatning har bo’g’imiga yana 
bitta maydonqo’shiladi. Ushbu maydon qiymati o’zidan oldin kelgan bo’g’imga 
muroyaatdan iborat bo’ladi. Ushba ko’rinishdagi elementlardan tashkil topgan 
dinamik tuzilmaga ikkitomonlama yo’naltirilgan yokiikki bog’lamli ro’yhat 
deyiladi. 
Ikki bog’lamli ro’yhatning har bir elementi ikkita ko’rsatkichga ega. Bittasi 
o’zidan oldingi elementga ko’rsatadi (teskari), ikkinchisi navbatdagi elementni 
ko’rsatadi (to’g’ri) (chizma). 
Ikki bo’g’lamli ro’yhat ustidagi amallar: 
- Ro’yhat elementini yaratish; 
- ro’yhatda elementniqidirish; 
- Ro’yhatning ko’rsatilgan yoyiga elemental qo’yish; 
- berilgan elementni ro’yhatdan o’chirish. 
Ushbu rasmda chiziqli ikki bog’lamli ro’yhat tuzilmasi keltirilgan. Unda 
roy’hat boshi va oxirini ko’rsatuvchi ikkita ko’rsatkich qabul qilingan, head va tail.
Ushbu tuzilmani C++ tilida quyidagicha e’lon qilish mumkin: 
Class Node{ 
int info; 
Node *prev; 
Node *next; 



Ushbu yaratilgan nostandart toifada ro’yhat boshi ko’rsatkichini e’lon 
qilishimiz mumkin. 
Node *head=new Node; 

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