Sortowanie przez wymianę
Adam Boduch
Ten sposób sortowania nie jest aż tak trudny jak przykładowo QuickSort ( chociaż oczywiście są o wiele trudniejsze :)). Sortowanie przez wymianę jest szybszym algorytmem od bąbelkowego, ale wolniejsze od sortowania szybkiego. Najpierw sama procedura sortowania:
procedure Sort(var iArray : array of Integer);
var
I : Integer;
Temp, J, X : Integer;
begin
{ procedura sortujaca - sortowanie przez wymianę }
for I := 0 to High(iArray) do
begin
Temp := i; // przypisz numer tablicy do analizy
for j := Temp to High(iArray) do
if iArray[j] < iArray[Temp] then Temp := j;
x := iArray[i];
iArray[i] := iArray[Temp];
iArray[Temp] := x;
end;
end;
Procedura oczywiście analizuje wszystkie elementy tablicy. Druga pętla for analizuje całą tablicę od elementu I do końca tablicy. Jeżeli element J tablicy będzie mniejszy od elementu I to do zmiennej Temp zostaje dopisany wartość zmiennej J. I
Następnie zachodzi zamiana elementów tablicy.