Применил очень шустрый алгоритм, один из быстрых.
Он так и называется "Быстрая сортировка".
1 млн записей сортирует за 3 сек. На 4-х ядерном процессоре 2,4 Ghz
Другие алгоритмы очень долго с этим справляются - в частности "пузырьком" и "вставкой", они хороши для меньшего количества записей.
Собственно вот сам код алгоритма "Быстрая сортировка", может многим пригодится
Код:
{Сортировка QuickSort}
procedure QuickSort(var data: array of double);
procedure QSort(var b: array of double; iLo, iHi: Integer);
var
Lo, Hi: Integer;
Mid, t: double;
begin
Lo := iLo;
Hi := iHi;
Mid := b[(Lo + Hi) div 2];
repeat
while b[Lo] < Mid do Inc(Lo);
while b[Hi] > Mid do Dec(Hi);
if Lo <= Hi then
begin
t := b[Lo];
b[Lo] := b[Hi];
b[Hi] := t;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QSort(b, iLo, Hi);
if Lo < iHi then QSort(b, Lo, iHi);
end;
begin
QSort(data, Low(data), High(data));
end;