O’zbekiston respublikasi aloqa, axborotlashtirish va telekommunikatsiya texnologiyalari davlat qo’mitasi



Yüklə 0,92 Mb.
səhifə22/52
tarix20.10.2022
ölçüsü0,92 Mb.
#65616
1   ...   18   19   20   21   22   23   24   25   ...   52
O’zbekiston respublikasi aloqa, axborotlashtirish va telekommuni

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:

  1. q Ko’rsatkich ko„rsatuvchi bo’sh elementni yaratish: Node *q=new Node;

  2. Yaratilgan element informatsion maydoniga x ni kiritish: q->info=x;

  3. q elementni p elementdan keyingi element bilan bog„lash.

q->ptr=p->ptr – yaratilgan element Ko’rsatkichiga p element Ko’rsatkichini o’zlashtirish.

  1. 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: ";
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;
  1. 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:



  1. O„chirilayotgan elementni ko„rsatuvchi q Ko’rsatkichni kiritish. q=p->ptr;

  2. p elementni q elementdan keyingi element bilan bog„lash. p->ptr=q->ptr;

  3. O„chirilayotgan element info maydonidagi informatsiyani yodda saqlash (agar zarur bo’lsa) k=q->info;

  4. 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:
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ə 0,92 Mb.

Dostları ilə paylaş:
1   ...   18   19   20   21   22   23   24   25   ...   52




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