• Bir bog„lamli ro„yhatdan elementni o„chirish
  • Zbekiston respublikasi aloqa, axborotlashtirish va telekommunikatsiya




    Download 490,46 Kb.
    bet21/47
    Sana15.11.2023
    Hajmi490,46 Kb.
    #99136
    1   ...   17   18   19   20   21   22   23   24   ...   47

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

    Download 490,46 Kb.
    1   ...   17   18   19   20   21   22   23   24   ...   47




    Download 490,46 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Zbekiston respublikasi aloqa, axborotlashtirish va telekommunikatsiya

    Download 490,46 Kb.