• Ikki bog’lamli ro’yhat oxiridan elementni o’chirish algoritmi
  • Ro’yhatga yangi elementni kiritish algoritmi




    Download 18,84 Mb.
    bet36/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   32   33   34   35   36   37   38   39   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    Ro’yhatga yangi elementni kiritish algoritmi
    Bunning uchun yangi elementni yaratib ro’yhatga quyidagi qadamlar bilan ro’yhat oxiriga qo’shiladi:

    • Yangi element yaratiladi, uning 3 ta maydoni e’lon qilinadi.

    • info maydoniga el sonini kiritamiz;

    • next maydoniga NULL qiymat kiritamiz;

    • prev maydoniga tail ni qiymatini yozib qo’yamiz, chunki bu element oxirgi turgan elementdan keyinga qo’shiladi va prev maydoni bilan o’zidan oldingi elementni ko’rsatib turishi kerak. Undan oldin keladigan element (xozircha oxirgi element tail da ko’rsatilyapti) adresi tail da saqlanyapti.

    • Yangi element kiritilgach, tail ko’rsatkichni ushbu yangi elementga o’rnatamiz. Chunki endi oxirgi element bo’lib, yangi element hisoblanadi.

    • Qachonki, yana yangi element kiritiladigan bo’lsa, boya kiritilgan elementning next maydonidagi NULL ni o’rniga yangi kiritilayotgan elementning adresi yoziladi.

    Ushbu aytilgan xarakatlarni quyidagi rasmda keltiramiz.

    Ushbu algoritmni C++ dagi dastur kodini keltiramiz.



    Ikki bog’lamli ro’yhat oxiridan elementni o’chirish algoritmi
    Oxiridan element o’chirish amalida tail ko’rsatkich ko’rsatayotgan element o’chiriladi.Bunda undan oldingi turgan elementning next maydoniga NULL yozib qo’yiladi.Keyin element o’chiriladi.Quyidagi amallar ketma-keltligini bayaramiz.

    • O’chirilayotgan elementni prev maydonidagi adres bilan oldingi turgan element olinadi;

    • Uning next maydoniga NULL yoziladi;

    • O’chirilayotgan elementni xotiradan tozalash mumkin.


    Bu algoritmni bayarishda shu narsaga axamiyat berish kerakki, tuzilma ustida amal bayarishda ro’yhat bo’sh yoki bo’sh emaslikka tekshirish kerak. Ya’ni quyidagicha:
    if (!list.isEmpty())
    n = list.deleteFromDLLTail();
    elsedo not delete;

    Download 18,84 Mb.
    1   ...   32   33   34   35   36   37   38   39   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Ro’yhatga yangi elementni kiritish algoritmi

    Download 18,84 Mb.