Ma’lumotlar tuzulmasi va algoritmlar fani bo’yicha mustaqil ish m


Bir bog‗lamli ro‗yhat boshiga element qo‗yish



Yüklə 252,75 Kb.
səhifə2/5
tarix16.08.2023
ölçüsü252,75 Kb.
#139568
1   2   3   4   5
1. Bir bog‗lamli ro‗yhat boshiga element qo‗yish

1-rasm. Bir bog‗lamli chiziqli ro‗yhat tuzilishi
1-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 (2-rasm).

2-rasm. Yangi element hosil qilish
b) Yaratilgan element informatsion maydoniga D o‗zgaruvchi qiymatini o‗zlashtirish (3-rasm).

3-rasm. Yangi element info maydoniga qiymat kiritish

  1. Yangi elementni ro‗yhat bilan bog‗lash: p->ptr=lst; (shu holatda yangi element va lst – ro‗yhat boshini ko‗rsatyapti)

  2. lst ko‗rsatkichni ro‗yhat boshiga ko‗chirish (4-rasm). lst=p;

Va nihoyat:

4-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 (5-rasm).

5-rasm. Ro‗yhat boshidagi elementni o‗chirish
Yuqorida aytilganlarni amalga oshirish uchun quyidagi ishlarni bajarish lozim:

  1. o‗chirilayotgan elementni ko‗rsatuvchi p ko‗rsatkich kiritish: p=lst;

  2. p ko‗rsatkich ko‗rsatayotgan element info maydonini qandaydir x o‗zgaruvchida saqlash: x=p->info;

  3. lst ko‗rsatkichni yangi ro‗yhat boshiga ko‗chirish: lst=p->ptr;

  4. p ko‗rsatkich ko‗rsatayotgan elementni o‗chirish: delete(p); Natijada 6-rasmdagi ko‗rinishga ega bo‗lamiz.


6-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);
}


Yüklə 252,75 Kb.

Dostları ilə paylaş:
1   2   3   4   5




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