• 4. Bir bog„lamli ro„yhatdan elementni o„chirish
  • O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti




    Download 18,84 Mb.
    bet92/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   88   89   90   91   92   93   94   95   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    3. 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

    b) Yaratilgan element informatsion maydoniga x ni kiritish: q->info=x;
    c) q elementni p elementdan keyingi element bilan bog„lash.
    q->ptr=p->ptr – yaratilgan element ko„rsatkichiga p element ko„rsatkichini o„zlashtirish.
    d) 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.
    Endi shu algoritmni C++ tilidagi realizatsiyasini ko„rib chiqsak.
    Node * p = lst;
    Node * q = new Node;
    int numb = -1;
    cout<<"son kiriting: ";
    cin>>numb; 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;
    4. 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:
    a) O„chirilayotgan elementni ko„rsatuvchi q ko„rsatkichni kiritish.
    q=p->ptr;
    b) p elementni q elementdan keyingi element bilan bog„lash.
    p->ptr=q->ptr;
    c) O„chirilayotgan element info maydonidagi informatsiyani yodda saqlash (agar zarur bo„lsa) k=q->info;
    d) 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 18,84 Mb.
    1   ...   88   89   90   91   92   93   94   95   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti

    Download 18,84 Mb.