• Bir bog„lamli ro„yhat boshidan elementni o„chirish
  • Bir bog„lamli ro„yhat boshiga element qo„yish




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

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




    3.3-rasm. Bir bog„lamli chiziqli ro„yhat tuzilishi


    3.3-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:

    1. p ko„rsatkich murojaat qiladigan, bo„sh element yaratish (3.4-rasm).



    3.4-rasm. Yangi element hosil qilish





    1. Yaratilgan element informatsion maydoniga D o„zgaruvchi qiymatini o„zlashtirish (3.5-rasm).


    3.5-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 (3.6-rasm). lst=p; Va nihoyat:

    3.6-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;}
    1. 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 (3.7-rasm).

    3.7-rasm. Ro„yhat boshidagi elementni o„chirish





    lozim:
    Yuqorida aytilganlarni amalga oshirish uchun quyidagi ishlarni bajarish

    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;

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

    2. p ko„rsatkich ko„rsatayotgan elementni o„chirish: delete(p); Natijada 3.8-rasmdagi ko„rinishga ega bo„lamiz.



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

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




    Download 490,46 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



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

    Download 490,46 Kb.