Janilabo

Janilabo | TSABubbleSort() [Simba]

May 21st, 2013
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.91 KB | None | 0 0
  1. procedure TSABubbleSort(var TSA: TStringArray; order: (so_LowToHigh, so_HighToLow));
  2. var
  3.   a, b, h: Integer;
  4.   tmp: string;
  5. begin
  6.   h := High(TSA);
  7.   if (h > 0) then
  8.   case order of
  9.     so_LowToHigh:
  10.     for a := 0 to h do
  11.       for b := 1 to (h - a) do
  12.         if (TSA[(b - 1)] > TSA[b]) then
  13.         begin
  14.           tmp := TSA[(b - 1)];
  15.           TSA[(b - 1)] := TSA[b];
  16.           TSA[b] := tmp;
  17.         end;
  18.     so_HighToLow:
  19.     for a := 0 to h do
  20.       for b := 1 to (h - a) do
  21.         if (TSA[(b - 1)] < TSA[b]) then
  22.         begin
  23.           tmp := TSA[(b - 1)];
  24.           TSA[(b - 1)] := TSA[b];
  25.           TSA[b] := tmp;
  26.         end;
  27.   end;
  28. end;
  29.  
  30. var
  31.   TSA: TStringArray;
  32.  
  33. begin
  34.   TSA := ['Apple', 'Orange', 'Lemon', 'Banana', 'Pear'];
  35.   TSABubbleSort(TSA, so_HighToLow); // Reversed.
  36.   WriteLn(ToStr(TSA));
  37.   TSABubbleSort(TSA, so_LowToHigh); // Default.
  38.   WriteLn(ToStr(TSA));
  39. end.
Advertisement
Add Comment
Please, Sign In to add comment