Talabasi Samandar Orifjonov


Download 0.61 Mb.
bet5/11
Sana17.12.2022
Hajmi0.61 Mb.
#1025687
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
ozim deadline

Ikki marta bog’langan ro’yxat. Ikki marta bog'langan ro'yxat (DLL – Double linked list) qo'shimcha ko'rsatgichni o'z ichiga oladi, ya’ni oddiy bog’langan ro’yxatdan farqli o’laroq ikkitalik bog’langan ro’yxatda ikkita ko’rsatgich mavjud, bular prev va next nomli ko’rsatgichlar(2-rasm).
Prev – bu ro’yxat oldidagi ko’rsatgich, next esa, ro’yxat ortidagi ko’rsatgich hisoblanadi. Ushbu ikkala ko’rsatgich o’zaro bir-biriga bog’lanadi.
Quyida ikkitalik bog’langan ro’yxatni C ++ tilida ifodalanishini ko’rib chiqamiz:

struct Node { int data;


struct Node* next; struct Node* prev;

};


Ikki tomonlama bog'langan ro'yxatning yakka bog'langan ro'yxatdan afzalliklari va kamchiliklari quyida keltirilgan.

Bitta bog'langan ro'yxatga nisbatan afzalliklari:


  1. Ikkitalik bog’langan ro’yxat oldinga va orqaga qarab yo'naltirilishi mumkin.

  2. Agar o'chiriladigan tugunga ko'rsatgich berilgan bo'lsa, Ikkitalik bog’langan

ro’yxatda o'chirish jarayoni samaraliroq bo'ladi.

  1. Biz tezda yangi tugunni berilgan tugundan oldin joylashtira olamiz. Alohida bog'langan ro'yxatda tugunni o'chirish uchun avvalgi tugunga ko'rsatgich kerak. Ushbu oldingi tugunni olish uchun ba'zida ro'yxat o'tib ketadi Ikkitalik bog’langan ro’yxatda biz oldingi tugmachani oldingi ko'rsatgich yordamida olishimiz mumkin.

Kamchiliklari:


  1. Ikkitalik bog’langan ro’yxatning har bir tuguni oldingi ko'rsatkich uchun qo'shimcha joy talab qiladi. Ikkitalik bog’langan ro’yxatni bitta ko'rsatkich bilan amalga oshirish mumkin.

  2. Barcha operatsiyalar oldingi ko'rsatkichni saqlab turishni talab qiladi. Masalan, kiritishda avvalgi ko'rsatkichlarni keyingi ko'rsatkichlar bilan birga o'zgartirishimiz kerak. Masalan, har xil holatdagi qo'shimchalar uchun quyidagi funktsiyalarda oldingi ko'rsatkichni o'rnatish uchun 1 yoki 2 ta qo'shimcha qadam kerak.

Download 0.61 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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