“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə26/56
tarix08.09.2023
ölçüsü1,33 Mb.
#142109
1   ...   22   23   24   25   26   27   28   29   ...   56
dokumen.tips aoemaalumotlar-tuzilmasi-va-ekvivalentlik-implikatsiya-chiqarib-tashlash-va

3. Elementni ro„yhatga qo„shish 
Berilgan ro„yhatda p ko„rsatkich ko„rsatayotgan elementdan keyin 
informatsion maydoni x bo„lgan elementni qo„yamiz (3.9-rasm). 
3.9-rasm. Ro„yhatga yangi element qo„shish 
Aytilganlarni amalga oshirish uchun quyidagi amallarni bajarish lozim: 
a) q ko„rsatkich ko„rsatuvchi bo„sh elementni yaratish: Node *q=new Node; 
b) Yaratilgan element informatsion maydoniga x ni kiritish: q->info=x; 
c) q elementni p elementdan keyingi element bilan bog„lash. 
q->ptr=p->ptr – yaratilgan element ko„rsatkichiga p element ko„rsatkichini 
o„zlashtirish. 
d) p element bilan q elementni bog„lash. 
p->ptr=q – bu amal p elementdan keyingi element q ko„rsatkich murojaat 
qilgan element bo„lishini anglatadi. 
Natijada quyidagi rasmdagidek ko„rinishga ega bo„lamiz. 
3.10-rasm. Natijaviy ro„yhat ko„rinishi 
Endi shu algoritmni C++ tilidagi realizatsiyasini ko„rib chiqsak.
Node * p = lst; 
Node * q = new Node; 
int numb = -1; 
cout<<"son kiriting: "; 
cin>>numb; 


55 
q->number = numb; 
int k; 
cout<<"nechta elementdan keyin kiritasiz k=";cin>>k; 
for(int i=0;inext; 
q->next = p->next; 
p->next = q;
4. Bir bog„lamli ro„yhatdan elementni o„chirish 
Ro„yhatda p ko„rsatkich ko„rsatayotgan elementdan keyingi elementni 
o„chiramiz (3.11-rasm). 
3.11-rasm. Ro„yhat o„rtasidan element o„chirish 
Buni ro„yobga chiqarish uchun quyidagi ishlarni amalga oshirish lozim: 
a) O„chirilayotgan elementni ko„rsatuvchi q ko„rsatkichni kiritish. 
q=p->ptr; 
b) p elementni q elementdan keyingi element bilan bog„lash. 
p->ptr=q->ptr; 
c) O„chirilayotgan element info maydonidagi informatsiyani yodda saqlash 
(agar zarur bo„lsa) k=q->info; 
d) q ko„rsatkich ko„rsatayotgan elementni o„chirish. 
delete(q) 
Natijada ro„yhat quyidagi ko„rinishga ega bo„ladi: 
3.12-rasm. Natijaviy ro„yhat ko„rinishi 
Shu algoritm dasturi: 


56 
Node* p = lst; 
Node* q = new Node; 
int k; 
cout<<"k=";cin>>k; 
for(int i=0;inext; 
q = p->next; 
p->next = q->next; 
delete(q); 

Yüklə 1,33 Mb.

Dostları ilə paylaş:
1   ...   22   23   24   25   26   27   28   29   ...   56




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