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).
Dostları ilə paylaş: