Clearing; Ris ;; {if ...}; {for ...}; {while k}:=d div 2; {yменьшеніе інтервалу}; {while d gt; 0}:=Now ;. Caption:=FloatToStrF ((t2-t1) * 1000, ffFixed, 1,10);
end;
TForm1. Sort32 (var a: TArray);// Процедура Шелла возрастаніемd, i, t: integer ;: boolean; {пpизнак пеpестановкі}:=Now;
d:=N div 2; {початкове значення інтервалу}
d gt; 0 do begin {цикл з yменьшеніем інтервалу до 1}
{пyзиpьковая сортуванні з інтеpвалом d}:=true; k do begin {цикл, поки є пеpестановкі}
k:=false; i:=1; i:=1 to N-d do begin
{сpавнения ел-тів на інтеpвале d}
if a [i] lt; a [i + d] then begin:=a [i]; a [i]:=a [i + d]; a [i + d]:=t; {пеpестановка}:=true; {пpизнак пеpестановкі}
buf:=rr [i]; [i]:=rr [i + d]; [i + d]:=buf;:=gg [i]; [i]:=gg [i + d] ; [i + d]:=buf;:=bb [i]; [i]:=bb [i + d]; [i + d]:=buf;
; Ris;
; {if ...}; {for ...}; {while k}:=d div 2; {yменьшеніе інтервалу}
end; {while d gt; 0}:=Now ;. Caption:=FloatToStrF ((t2-t1) * 1000, ffFixed, 1,10) ;;
TForm1. Sort41 (Var ar: TArray; n: Integer);// Процедура вставки убуванням
Var i, j, T: Integer;
buf1, buf2, buf3: Byte;:=Now; i:=1 To n Do:=ar [i];:=Pred (i);:=rr [i];:=gg [i]; :=bb [i];
(j gt; 0) and (T lt; ar [j]) Do
Begin {!!!} [Succ (j)]:=ar [j];
rr [Succ (j)]:=rr [j];
gg [Succ (j)]:=gg [j]; [Succ (j)]:=bb [j];
(j) ;; [Succ (j)]:=T;
[Succ (j)]:=buf1; [Succ (j)]:=buf2;
bb [Succ (j)]:=buf3;
; Ris ;;:=Now ;. Caption:=FloatToStrF ((t2-t1) * 1000, ffFixed, 1,10);
End;
TForm1. Sort42 (Var ar: TArray; n: Integer);// Процедура вставки возрастаніемi, j, T: Integer;
buf1, buf2, buf3: Byte;:=Now; i:=1 To n Do:=ar [i];:=Pred (i);:=rr [i];:=gg [i]; :=bb [i];
(j gt; 0) and (T gt; ar [j]) Do
Begin {!!!} [Succ (j)]:=ar [j];
rr [Succ (j)]:=rr [j];
gg [Succ (j)]:=gg [j]; [Succ (j)]:=bb [j]; (j) ;; [Succ (j)]:=T; [Succ (j) ]:=buf1; [Succ (j)]:=buf2;
bb [Succ (j)]:=buf3;
; Ris ;;:=Now ;. Caption:=FloatToStrF ((t2-t1) * 1000, ffFixed, 1,10) ;;
procedure TForm1. Pause (const Dela: Integer);// Процедура затримки виведення: Cardinal;:=GetTickCount ;. ProcessMessages; (GetTickCount - StT) gt;=Dela;
end;
TForm1. Ris ();// Процедура графічного виведення елементів масиву
begin:=0;:=20; Image1. Canvas do
i:=1 to n do
begin:=x1 + h;:=x1 + h;
y1:=360;:=my [i] ;. Color:=RGB (rr [i], gg [i], bb [i]);
Rectangle (x1, y1, x2, y2) ;. Caption:=IntToStr (i) ;. Color:=clWhite; (x1, y2-15, IntToStr (y1-y2)) ;. Visible:=false;
:=Image1. Picture. Bitmap;
end ;;:=TBitMap. Create ;. Width:=Image1. Width ;. Height:=Image1. Height; (TrackBar1. Position) ;. Canvas. Draw (sv, sh, Bm) ;;
TForm1. Clearing ();// Процедура очищення форми без обнулення масиву:=0;
. Canvas. Brush. Color:=clWhite ;. Canvas. FillRect (Rect (0,0, Width, Height)) ;. Visible:=false;
. Caption:= raquo ;;;
TForm1.N1Click (Sender: TObject);// Інформація про розробників
begin ( Програма «Візуальна демонстрація + # 13 # 10 + методів сортування масиву»
+ # 13 # 10 + Розробник: Родіонова П.С. гр П-IV - 2 + # 13 # 10 +
Керівник-консультант: Александров В.М. + # 13 # 10 + ТОГБОУ СПО «КИТ» 2014
+ # 13 # 10 + kit68 ) ;;
TForm1. Zero ();// Процедура очищення форми і обнулення масиву
begin:=0; x:=1 to n do [x]:=0 ;. Canvas. Brush. Color:=clWhite ;. Canvas. FillRect (Rect (0,0, Width, Height));:=Image1. Picture. Bitmap ;. Canvas. Draw (0, sh, Bm);
. Caption:= raquo ;;;
TForm1. Sort11 ();// Бульбашкова спаданням
var r, t, b: integer;
begin:=Now; t:=1 to n dor:=1 to nt domy [r] gt; my [r + 1] then:=my [r]; [r]:=my [r + 1 ];
my [r + 1]:=b;
buf:=rr [r]; [r]:=rr [r + 1]; [r + 1]:=buf;:=gg [r]; [r]:=gg [r + 1] ; [r + 1]:=buf; [r + 1]:=b;:=bb [r]; [r]:=bb [r + 1]; [r + 1]:=buf;
Clearing; Ris ;;;:=Now ;. Caption:=FloatToStrF ((t2-t1) * 1000, ffFixed, 1,10);
end;
TForm1. Sort12 ();// Бульбашкова за зростанням
var r, t, b: integer;
begin:=Now; t:=1 to n dor:=1 to nt domy [r] lt; my [r + 1] then:=my [r]; [r]:=my [r + 1 ];
my [r + 1]:=b;
:=rr [r]; [r]:=rr [r + 1]; [r + 1]:=buf;:=gg [r]; [r]:=gg [r + 1]; [r + 1]:=buf; [r + 1]:=b;:=bb [r]; [r]:=bb [r + 1]; [r + 1]:=buf;
Clearing; Ris ;;;:=Now ;. Caption:=FloatToStrF ((t2-t1) * 1000, ffFixed, 1,10) ;;
TForm1. TrackBar1Change (Sender: TObject);// Швидкість сортування. Caption:=IntToStr (TrackBar1. Position) ;;
<...