Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TSASelectionSort(var TSA: TStringArray; order: (so_LowToHigh, so_HighToLow));
- var
- c, t, h, m: Integer;
- tmp: string;
- begin
- h := High(TSA);
- if (h > 0) then
- case order of
- so_LowToHigh:
- for c := 0 to h do
- begin
- m := c;
- for t := (c + 1) to h do
- if (TSA[m] > TSA[t]) then
- m := t;
- tmp := TSA[m];
- TSA[m] := TSA[c];
- TSA[c] := tmp;
- end;
- so_HighToLow:
- for c := 0 to h do
- begin
- m := c;
- for t := (c + 1) to h do
- if (TSA[m] < TSA[t]) then
- m := t;
- tmp := TSA[m];
- TSA[m] := TSA[c];
- TSA[c] := tmp;
- end;
- end;
- end;
- var
- TSA: TStringArray;
- begin
- TSA := ['Apple', 'Orange', 'Lemon', 'Banana', 'Pear'];
- TSASelectionSort(TSA, so_HighToLow); // Reversed.
- WriteLn(ToStr(TSA));
- TSASelectionSort(TSA, so_LowToHigh); // Default.
- WriteLn(ToStr(TSA));
- end.
Advertisement
Add Comment
Please, Sign In to add comment