Shell Sort(pascaL)acıkLamaLı

ALpMontana

КЯaL´da TaNıMaM КuяaL´da
Katılım
28 May 2006
Mesajlar
6,644
Reaction score
0
Puanları
0
Yaş
38
Konum
Eski Açık [ALiSamiYEN]
Shell sort algoritması Insertion algoritmasına benzer ancak bu algoritma daha hızlıdır.Çünkü sıralama işlemini bütün dizi üzerinde değilde diziyi guruplara bölerek yapar.Insertion sort metodunu dizinin belli bölümlerine uyguladığımızda Shell sort algoritmasını elde ederiz.:victory

USES CRT;
CONST
N=10;
TYPE
Ary=Array[1..n]of integer;
Indis=1..n;
VAR
list:Ary;
i:indis;
PROCEDURE { shell } Sort(VAR A:Ary);
VAR
Done: Boolean;
Jump,I,J,temp: Integer;
BEGIN
Jump := N;
WHILE Jump > 1 DO
BEGIN
Jump := Jump DIV 2;
REPEAT
Done := True;
FOR J := 1 TO N - Jump DO
BEGIN
I := J + Jump;
IF A[J] > A THEN
BEGIN
temp:=A[J];
A[J]:=A;
A:=temp;
Done := False
END;
END;
UNTIL Done
END;
END;
BEGIN
for i:=1 to n do begin
Write('Listenin ',i,'.elemanı: ');Readln(list);
end;
sort(list);
for i:=1 to n do
Writeln(list);
Readln;
END.
:biggrin
 
Geri
Üst