Ikki bog'lamli ro'yhatlar Reja


Halqasimon bog’langan ro’yhatlar


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

Halqasimon bog’langan ro’yhatlar 
Halqasimon bog’langan ro’yhatlarda tugunlar halqa ko’rinishda o’zaro 
bog’langan bo’ladi.Ya’ni oxirgi element korsatkichi NULL emas, birinchi 
elementga yo’naltirilgan bo’ladi.Bunday tuzilmalar qachon ishlatiladi, agar bir 
qancha yarayonlar bir vaqtning o’zida aynan bir resurslarni ishlatadigan bo’lsa, biz 
resurslarni teng taqsimlagan xolda ishlatilishini ta’minlashimiz kerak bo’ladi. 
Tasavvur qilamiz, o’sha yarayonlar 6,5,8,10 sonlari bo’lsin, xuddi yuqoridagi 
rasmdagidek. Tuzilmaga current nomli ko’rsatkich orqali muroyaat qilamiz. Bitta 
elementga muroyaat qilib, shu yarayonni bayarilishini ta’minlash, ya’ni 
aktivlashtirish uchun uning qiymatini qaytaramiz va keying elementga o’tamiz.
Halqasimon ro’yhatlar ikki hil bo’ladi: 
- Halqasimon bir bog’lamli 
- Halqasimon ikki bog’lamli 
Halqasimon ro’yhatlar ustida bayariladigan amallar 
- element qo’shish 
- element o’chirish 
- Ro’yhatni ko’ruvdan o’tkazish 
- Ro’yhatni o’chirish 
- Bo’shlikka tekshirish 
Halqasimon bir bog’lamli ro’yhat oddiy bir bog’lamli ro’yhatda eng so’ngi 
element ko’rsatkichiga ro’yhat boshi elementi ko’rsatkichi qiymatini o’zlashtirish 
orqali hosil qilinadi 
Halqasimon bir bog’lamli ro’yhatni C++ da e’lon qilish 
struct Node{ 


int data; //informasion maydon 
Node *Next; 
}; 
Node *Head=NULL;//ro’yhat boshi ko’rsatkichi 
Node *Tail=NULL;//ro’yhat ohiri ko’rsatkichi 
Halqasimon bir bog’lamli ro’yhatga element qo’shish algoritmi 
Bo’sh bo’lgan ro’yhatga elementlar rasmdagi kabi kiritilishi kerak bo’lsin.1. 
1. Yangi elementni e’lon qilamiz: 
Node *temp=new Node; 
2. yangi elementning informasion maydoniga x qiymatni kiritamiz.
temp->data=x; 
3. Yangi element ko’rsatkich maydoniga ro’yhat boshi ko’rsatkichini 
o’zlashtiramiz. temp->next=Head; 
4. Oxirgi element Tail ni ko’rsatkichini yangi elementga ulaymiz.
Tail->next=temp; 
5. Oxirgi elementni ko’rsatuvchi Tail ni yangi elementga to’g’irlab qo’yamiz.
Tail=temp; 
Ushbu algoritmning dastur kodi: 
void Add(int x) 
{ 
Node *temp=newNode;  
temp->Next=Head;  
temp->data=x;  
if (Head!=NULL) { 
Tail->Next=temp;  
Tail=temp;  
 } 
else Head=Tail=temp; 
} 
temp 



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