|
Bir bog‗lamli ro‗yhat boshiga element qo‗yish
|
bet | 2/3 | Sana | 29.12.2023 | Hajmi | 159,18 Kb. | | #129024 |
Bog'liq Ma’lumotlar tuzulmasi va algoritmlar fani bo’yicha mustaqil ish -fayllar.org Mustaqil ish 2 (1), Kitob 9953 uzsmart.uz, DAVOMAT DAFTARI - 8-A, File0008, File0011, File0007, Doc1, Reference-389201100006 (1), 1 Tursunova G ., 1-AMALIY KT, 5-MUSTAQIL ISHI PP, Mustaqil ta‘lim, 11-mavzu Abu Rayhon Beruniy, 1 Ma\'lumotlar bazasi haqida qisqacha tavsif 2 Ma\'lumotlar baza, Konstruksion materiallar texnologiyasi. Mirboboyev V.A1. 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
Yangi elementni ro‗yhat bilan bog‗lash: p->ptr=lst; (shu holatda yangi element va lst – ro‗yhat boshini ko‗rsatyapti)
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:
o‗chirilayotgan elementni ko‗rsatuvchi p ko‗rsatkich kiritish: p=lst;
p ko‗rsatkich ko‗rsatayotgan element info maydonini qandaydir x o‗zgaruvchida saqlash: x=p->info;
lst ko‗rsatkichni yangi ro‗yhat boshiga ko‗chirish: lst=p->ptr;
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);
}
|
|
| |