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




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

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

    2-rasm. Bir bog„lamli chiziqli ro„yhat tuzilishi
    2-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 (3-rasm).



    3-rasm. Yangi element hosil qilish
    b) Yaratilgan element informatsion maydoniga D o„zgaruvchi qiymatini o„zlashtirish (4 3.5-rasm).

    4-3.5-rasm Yangi element info maydoniga qiymat kiritish
    c) Yangi elementni ro„yhat bilan bog„lash: p->ptr=lst; (shu holatda yangi element va lst – ro„yhat boshini ko„rsatyapti)
    d) lst ko„rsatkichni ro„yhat boshiga ko„chirish (3.6-rasm). lst=p;

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

    3.7-rasm. Ro„yhat boshidagi elementni o„chirish
    Yuqorida aytilganlarni amalga oshirish uchun quyidagi ishlarni bajarish lozim:
    a) o„chirilayotgan elementni ko„rsatuvchi p ko„rsatkich kiritish: p=lst;
    b) p ko„rsatkich ko„rsatayotgan element info maydonini qandaydir x o„zgaruvchida saqlash: x=p->info;
    c) lst ko„rsatkichni yangi ro„yhat boshiga ko„chirish: lst=p->ptr;
    d) 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);
    }

    Download 18,84 Mb.
    1   ...   87   88   89   90   91   92   93   94   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



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

    Download 18,84 Mb.