2020-12-19 15:12:22 +00:00
|
|
|
with Ada.Text_IO; use Ada.Text_IO;
|
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
package Vector is
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
generic
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
Capacite: Positive;
|
|
|
|
|
|
|
|
package Entier is
|
|
|
|
|
2020-12-24 17:21:56 +00:00
|
|
|
type T_Vecteur is array (0..Capacite-1) of Natural;
|
2020-12-24 16:55:22 +00:00
|
|
|
|
2020-12-24 17:21:56 +00:00
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in Natural);
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure identity(vec: in out T_Vecteur);
|
|
|
|
procedure flip(vec: in out T_Vecteur);
|
|
|
|
|
|
|
|
procedure put(vec: in T_Vecteur);
|
|
|
|
procedure put(file: in out Ada.Text_IO.File_Type; vec: in T_Vecteur);
|
|
|
|
|
|
|
|
procedure quicksort(vec: in out T_Vecteur; low: Natural := 0; high: Natural := Capacite-1);
|
|
|
|
|
|
|
|
end Entier;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
generic
|
|
|
|
|
|
|
|
type T_Digit is digits <>;
|
|
|
|
Capacite: Positive;
|
|
|
|
with package Vector_Entier is new Vector.Entier(Capacite => Capacite);
|
|
|
|
|
|
|
|
package Digit is
|
|
|
|
|
|
|
|
-- on permet l'affichage direct des T_Digit
|
|
|
|
package Text_T_Element is
|
|
|
|
new Ada.Text_IO.Float_IO(Num => T_Digit);
|
2020-12-24 17:21:56 +00:00
|
|
|
use Text_T_Element;
|
2020-12-24 16:55:22 +00:00
|
|
|
|
|
|
|
type T_Vecteur is array (0..Capacite-1) of T_Digit;
|
|
|
|
|
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in T_Digit);
|
|
|
|
|
|
|
|
function sum(vec: in T_Vecteur) return T_Digit;
|
|
|
|
procedure flip(vec: in out T_Vecteur);
|
|
|
|
|
|
|
|
procedure put(vec: in T_Vecteur);
|
|
|
|
procedure put(file: in out Ada.Text_IO.File_Type; vec: in T_Vecteur);
|
|
|
|
|
|
|
|
procedure quicksort(vec: in out T_Vecteur; low: Natural := 0; high: Natural := Capacite-1);
|
|
|
|
procedure quicksort(vec: in out T_Vecteur; vec_index: in out Vector_Entier.T_Vecteur;
|
|
|
|
low: Natural := 0; high: Natural := Capacite-1);
|
|
|
|
|
|
|
|
end Digit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
generic
|
|
|
|
|
|
|
|
Capacite: Positive;
|
|
|
|
|
|
|
|
package Link is
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
type T_Link is record
|
|
|
|
from: Natural;
|
|
|
|
to: Natural;
|
|
|
|
end record;
|
2020-12-23 19:55:16 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
type T_Vecteur is array (0..Capacite-1) of T_Link;
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in Natural);
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure put(vec: in T_Vecteur);
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
function "<"(left, right: in T_Link) return Boolean;
|
2020-12-22 13:26:25 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure quicksort(vec: in out T_Vecteur; low: Natural := 0; high: Natural := Capacite-1);
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
end Link;
|
2020-12-23 19:55:16 +00:00
|
|
|
|
2020-12-19 15:12:22 +00:00
|
|
|
end Vector;
|