5-ma’ruza. Ikki bog'lamli ro'yhatlar Reja



Yüklə 0,87 Mb.
Pdf görüntüsü
səhifə1/3
tarix22.12.2022
ölçüsü0,87 Mb.
#77232
  1   2   3
12 ikki boglamli royxat



5-ma’ruza. 
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; 

Yüklə 0,87 Mb.

Dostları ilə paylaş:
  1   2   3




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