{$A-} procedure num_quick_sort(var num:real_array;n:integer); const delta = 10; var temp : real; i,j,l,r : integer; procedure quick(l,r:integer); var i,j : integer; temp1,temp2 : real; begin if r-l>delta then begin temp2:=num[r]; i:=l-1; j:=r; repeat repeat i:=i+1 until num[i] >= temp2; repeat j:=j-1 until num[j] <= temp2; temp1:=num[i]; num[i]:=num[j]; num[j]:=temp1; until j <= i; num[j]:=num[i]; num[i]:=num[r]; num[r]:=temp1; quick(l,i-1); quick(i+1,r); end; end; begin {num_quick_sort} quick(1,n); for i:= 2 to n do begin temp:=num[i]; j:=i; while num[j-1] > temp do begin num[j]:=num[j-1]; j:=j-1; end; num[j]:=temp; end; end; {num_quick_sort} {$A+}