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



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə25/56
tarix28.11.2023
ölçüsü1,33 Mb.
#136709
1   ...   21   22   23   24   25   26   27   28   ...   56
vdocuments.site malumotlar-tuzilmasi-va-algoritmlar-asosida-nazariy-bilimlarini-hamda

1.
 
Bir bog„lamli ro„yhat boshiga element qo„yish 
 
3.3-rasm. Bir bog„lamli chiziqli ro„yhat tuzilishi 
3.3-rasmdagi ro„yhat boshiga informatsion maydoni D o„zgaruvchi bo„lgan 
element qo„yamiz. Ushbu ishni amalga oshirish uchun quyidagi amallarni bajarish 
lozim bo„ladi: 
a) p
 
ko„rsatkich murojaat qiladigan, bo„sh element yaratish (3.4-rasm). 
3.4-rasm. Yangi element hosil qilish 
b) Yaratilgan element informatsion maydoniga D o„zgaruvchi qiymatini 
o„zlashtirish 
(
3.5-rasm
)



52 
3.5-rasm. Yangi element info maydoniga qiymat kiritish 
c) Yangi elementni ro„yhat bilan bog„lash: p->ptr=lst; (shu holatda yangi 
element va lst – ro„yhat boshini ko„rsatyapti) 
d) lst ko„rsatkichni ro„yhat boshiga ko„chirish (3.6-rasm). lst=p; 
Va nihoyat: 
3.6-rasm. Ro„yhat boshiga element qo„shish 
Endi shu algoritmni C++ tilidagi realizatsiyasini ko„rib chiqamiz.
Node * p = new Node; 
int numb = -1; 
cout<<"son kiriting: "; 
cin>>numb; 
p->info = numb; 
if (lst ==NULL){ 
p->next = NULL; 
lst = p; } 
else { p->next = lst; 
lst = p;} 
2. Bir bog„lamli ro„yhat boshidan elementni o„chirish 
Ro„yhatda birinchi element info informatsion maydonidagi ma‟lumotni esda 
saqlab qolib uni ro„yhatdan o„chiramiz (3.7-rasm). 


53 
3.7-rasm. Ro„yhat boshidagi elementni o„chirish 
Yuqorida aytilganlarni amalga oshirish uchun quyidagi ishlarni bajarish 
lozim: 
a) o„chirilayotgan elementni ko„rsatuvchi p ko„rsatkich kiritish: p=lst; 
b) p ko„rsatkich ko„rsatayotgan element info maydonini qandaydir x 
o„zgaruvchida saqlash: x=p->info; 
c) lst ko„rsatkichni yangi ro„yhat boshiga ko„chirish: lst=p->ptr;
d) p ko„rsatkich ko„rsatayotgan elementni o„chirish: delete(p); 
Natijada 3.8-rasmdagi ko„rinishga ega bo„lamiz. 
3.8-rasm. Ro„yhatning natijaviy ko„rinishi 
Endi shu algoritmni C++ tilidagi realizatsiyasini ko„rib chiqsak.
Node* p = new Node; 
if (lst == NULL){ 
cout<<"ro'yhat bo'sh"; 
system("pause");
system("CLS"); 

else { p = lst; 
lst = p->next ; 
 
 
 
delete(p); 
 
 
 



54 

Yüklə 1,33 Mb.

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




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə