• Halqasimon bir bog’lamli ro’yhatga element qo’shish algoritmi
  • O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti




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

    Halqasimon bog’langan ro’yhatlar
    Halqasimon bog’langan ro’yhatlarda tugunlar halqa ko’rinishda o’zaro bog’langan bo’ladi.Ya’ni oxirgi element korsatkichi NULL emas, birinchi elementga yo’naltirilgan bo’ladi.Bunday tuzilmalar qachon ishlatiladi, agar bir qancha yarayonlar bir vaqtning o’zida aynan bir resurslarni ishlatadigan bo’lsa, biz resurslarni teng taqsimlagan xolda ishlatilishini ta’minlashimiz kerak bo’ladi.

    Tasavvur qilamiz, o’sha yarayonlar 6,5,8,10 sonlari bo’lsin, xuddi yuqoridagi rasmdagidek. Tuzilmaga current nomli ko’rsatkich orqali muroyaat qilamiz. Bitta elementga muroyaat qilib, shu yarayonni bayarilishini ta’minlash, ya’ni aktivlashtirish uchun uning qiymatini qaytaramiz va keying elementga o’tamiz.
    Halqasimon ro’yhatlar ikki hil bo’ladi:

    • Halqasimon bir bog’lamli

    • Halqasimon ikki bog’lamli


    Halqasimon ro’yhatlar ustida bayariladigan amallar



    • element qo’shish

    • element o’chirish

    • Ro’yhatni ko’ruvdan o’tkazish

    • Ro’yhatni o’chirish

    • Bo’shlikka tekshirish

    Halqasimon bir bog’lamli ro’yhat oddiy bir bog’lamli ro’yhatda eng so’ngi element ko’rsatkichiga ro’yhat boshi elementi ko’rsatkichi qiymatini o’zlashtirish orqali hosil qilinadi
    Halqasimon bir bog’lamli ro’yhatni C++ da e’lon qilish

    struct Node{


    int data; //informasion maydon
    Node *Next;
    };
    Node *Head=NULL;//ro’yhat boshi ko’rsatkichi
    Node *Tail=NULL;//ro’yhat ohiri ko’rsatkichi
    Halqasimon bir bog’lamli ro’yhatga element qo’shish algoritmi
    Bo’sh bo’lgan ro’yhatga elementlar rasmdagi kabi kiritilishi kerak bo’lsin.1. 1. Yangi elementni e’lon qilamiz:
    N
    temp
    ode *temp=new Node;

    2. yangi elementning informasion maydoniga x qiymatni kiritamiz.


    temp->data=x;


    1. Yangi element ko’rsatkich maydoniga ro’yhat boshi ko’rsatkichini o’zlashtiramiz. temp->next=Head;

    2. Oxirgi element Tail ni ko’rsatkichini yangi elementga ulaymiz.

    Tail->next=temp;

    1. Oxirgi elementni ko’rsatuvchi Tail ni yangi elementga to’g’irlab qo’yamiz. Tail=temp;


    Ushbu algoritmning dastur kodi:
    void Add(int x)
    {
    Node *temp=newNode;
    temp->Next=Head;
    temp->data=x;
    if (Head!=NULL) {
    Tail->Next=temp;
    Tail=temp;
    }
    else Head=Tail=temp;
    }






    Download 18,84 Mb.
    1   ...   34   35   36   37   38   39   40   41   ...   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.