diff options
Diffstat (limited to 'cocktail.adb')
-rw-r--r-- | cocktail.adb | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/cocktail.adb b/cocktail.adb deleted file mode 100644 index ecc9e82..0000000 --- a/cocktail.adb +++ /dev/null @@ -1,45 +0,0 @@ - - -package body Cocktail is - - - procedure Swap(A, B : in out Element_T) is - Temp : Element_T; - begin - Temp := A; - A := B; - B := Temp; - end Swap; - - - procedure Sort(Arr : in out Array) is - Swapped : Boolean; - begin - if Arr'Length <= 1 then - return; - end if; - - loop - Swapped := False; - for I in Index_T range Arr'First .. Index_T'Pred(Arr'Last) loop - if Arr(I) > Arr(Index_T'Succ(I)) then - Swap( Arr(I), Arr(Index_T'Succ(I)) ); - Swapped := True; - end if; - end loop; - exit when not Swapped; - - Swapped := False; - for I in Index_T reverse range Index_T'Succ(Arr'First) .. Arr'Last loop - if Arr(Index_T'Pred(I)) > Arr(I) then - Swap( Arr(Index_T'Pred(I)), Arr(I) ); - Swapped := True; - end if; - end loop; - exit when not Swapped; - end loop; - end Sort; - - -end Cocktail; - |