• Transpozisiya usuli
  • Topilgan elementni ro’yxat boshiga qo’yish orqali jadvalni qayta tartiblash




    Download 18,84 Mb.
    bet73/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   69   70   71   72   73   74   75   76   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    5.1 Topilgan elementni ro’yxat boshiga qo’yish orqali jadvalni qayta tartiblash
    Mazkur usulni mag’zi shundan iboratki, berilgan kalitga teng kalitli element ro’yxatda birinchi element deb o’zlashtiriladi, qolganlari esa suriladi.

    Keltirilgan algoritm ro’yxat uchun ham massiv uchun xam o’rinli. Biroq bu algoritm massiv uchun tavsiya qilinmaydi, sababi elementlarni o’rinlashtirishga ko’rsatkichlarni o’rinlashtirishdan ko’ra ancha ko’p vaqt talab qiladi.
    Ro’yxatni qayta tartiblash algoritmi:
    Paskal:
    q:=nil;
    p:=table;
    while (p <> nil) do
    begin
    if key = p^.k then
    begin
    if q = nil
    then 'o’rinlashtirish shart emas'
    search := p;
    exit;
    end;
    q^.nxt := p^.nxt;
    p^.nxt := table;
    table := p;
    exit;
    end;
    q := p;
    p := p^.nxt;
    end;
    search := nil;
    exit;
    Transpozisiya usuli
    Ushbu usulda topilgan element ro’xatda bitta oldingi element bilan o’rin almashtiriladi. Agarda mazkur elementga ko’p murojaat qilinsa, bittadan oldinga surilib borib natijada ro’yxat boshida bo’ladi.

    Chizma. Qo’shni elementlarni o’rnini almashtirish
    r – ishchi ko’rsatkich
    q – yordamchi ko’rsatkich, r dan bitta qadam orqada bo’ladi
    s - yordamchi ko’rsatkich, q dan ikkita qadam orqada bo’ladi
    Transpozisiya usuli algoritmi:
    Paskal:
    s:=nil;
    q:=nil;
    p:=table;
    while (p <> nil) do
    begin
    if key = p^.k then
    ‘transponerlaymiz
    begin
    if q = nil then
    begin
    ‘o’rinlashtirilmaydi
    search:=p;
    exit;
    end;
    q^.nxt:=p^.nxt;
    p^.nxt:=q;
    if s = nil then
    table := p;
    else
    begin
    s^.nxt := p;
    end;
    search:=p;
    exit;
    end; end;
    search:=nil; exit;
    Ushbu usul nafaqat ro’yxatda, balki massivda xam qulay (sababi faqatgina ikkita yonma-yon turgan element o’rin almashtiriladi).

    Download 18,84 Mb.
    1   ...   69   70   71   72   73   74   75   76   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Topilgan elementni ro’yxat boshiga qo’yish orqali jadvalni qayta tartiblash

    Download 18,84 Mb.