Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,41 +0,0 @@
|
|||
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
|
||||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
|
||||
with Ada.Containers.Generic_Array_Sort;
|
||||
|
||||
procedure Demo_Array_Sort is
|
||||
|
||||
function "+" (S : String) return Unbounded_String renames To_Unbounded_String;
|
||||
|
||||
type A_Composite is
|
||||
record
|
||||
Name : Unbounded_String;
|
||||
Value : Unbounded_String;
|
||||
end record;
|
||||
|
||||
function "<" (L, R : A_Composite) return Boolean is
|
||||
begin
|
||||
return L.Name < R.Name;
|
||||
end "<";
|
||||
|
||||
procedure Put_Line (C : A_Composite) is
|
||||
begin
|
||||
Put_Line (To_String (C.Name) & " " & To_String (C.Value));
|
||||
end Put_Line;
|
||||
|
||||
type An_Array is array (Natural range <>) of A_Composite;
|
||||
|
||||
procedure Sort is new Ada.Containers.Generic_Array_Sort (Natural, A_Composite, An_Array);
|
||||
|
||||
Data : An_Array := (1 => (Name => +"Joe", Value => +"5531"),
|
||||
2 => (Name => +"Adam", Value => +"2341"),
|
||||
3 => (Name => +"Bernie", Value => +"122"),
|
||||
4 => (Name => +"Walter", Value => +"1234"),
|
||||
5 => (Name => +"David", Value => +"19"));
|
||||
|
||||
begin
|
||||
Sort (Data);
|
||||
for I in Data'Range loop
|
||||
Put_Line (Data (I));
|
||||
end loop;
|
||||
end Demo_Array_Sort;
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
|
||||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
|
||||
with Ada.Containers.Ordered_Sets;
|
||||
|
||||
procedure Sort_Composites is
|
||||
|
||||
function "+" (S : String) return Unbounded_String renames To_Unbounded_String;
|
||||
|
||||
type A_Composite is
|
||||
record
|
||||
Name : Unbounded_String;
|
||||
Value : Unbounded_String;
|
||||
end record;
|
||||
|
||||
function "<" (L, R : A_Composite) return Boolean is
|
||||
begin
|
||||
return L.Name < R.Name;
|
||||
end "<";
|
||||
|
||||
procedure Put_Line (C : A_Composite) is
|
||||
begin
|
||||
Put_Line (To_String (C.Name) & " " & To_String (C.Value));
|
||||
end Put_Line;
|
||||
|
||||
package Composite_Sets is new Ada.Containers.Ordered_Sets (A_Composite);
|
||||
|
||||
procedure Put_Line (C : Composite_Sets.Cursor) is
|
||||
begin
|
||||
Put_Line (Composite_Sets.Element (C));
|
||||
end Put_Line;
|
||||
|
||||
Data : Composite_Sets.Set;
|
||||
|
||||
begin
|
||||
Data.Insert (New_Item => (Name => +"Joe", Value => +"5531"));
|
||||
Data.Insert (New_Item => (Name => +"Adam", Value => +"2341"));
|
||||
Data.Insert (New_Item => (Name => +"Bernie", Value => +"122"));
|
||||
Data.Insert (New_Item => (Name => +"Walter", Value => +"1234"));
|
||||
Data.Insert (New_Item => (Name => +"David", Value => +"19"));
|
||||
Data.Iterate (Put_Line'Access);
|
||||
end Sort_Composites;
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
with Ada.Text_Io;
|
||||
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
|
||||
|
||||
procedure Sort_Composite is
|
||||
type Composite_Record is record
|
||||
Name : Unbounded_String;
|
||||
Value : Unbounded_String;
|
||||
end record;
|
||||
|
||||
type Pairs_Array is array(Positive range <>) of Composite_Record;
|
||||
|
||||
procedure Swap(Left, Right : in out Composite_Record) is
|
||||
Temp : Composite_Record := Left;
|
||||
begin
|
||||
Left := Right;
|
||||
Right := Temp;
|
||||
end Swap;
|
||||
|
||||
-- Sort_Names uses a bubble sort
|
||||
|
||||
procedure Sort_Name(Pairs : in out Pairs_Array) is
|
||||
Swap_Performed : Boolean := True;
|
||||
begin
|
||||
while Swap_Performed loop
|
||||
Swap_Performed := False;
|
||||
for I in Pairs'First..(Pairs'Last - 1) loop
|
||||
if Pairs(I).Name > Pairs(I + 1).Name then
|
||||
Swap (Pairs(I), Pairs(I + 1));
|
||||
Swap_Performed := True;
|
||||
end if;
|
||||
end loop;
|
||||
end loop;
|
||||
end Sort_Name;
|
||||
|
||||
procedure Print(Item : Pairs_Array) is
|
||||
begin
|
||||
for I in Item'range loop
|
||||
Ada.Text_Io.Put_Line(To_String(Item(I).Name) & ", " &
|
||||
to_String(Item(I).Value));
|
||||
end loop;
|
||||
end Print;
|
||||
type Names is (Fred, Barney, Wilma, Betty, Pebbles);
|
||||
type Values is (Home, Work, Cook, Eat, Bowl);
|
||||
My_Pairs : Pairs_Array(1..5);
|
||||
begin
|
||||
for I in My_Pairs'range loop
|
||||
My_Pairs(I).Name := To_Unbounded_String(Names'Image(Names'Val(Integer(I - 1))));
|
||||
My_Pairs(I).Value := To_Unbounded_String(Values'Image(Values'Val(Integer(I - 1))));
|
||||
end loop;
|
||||
Print(My_Pairs);
|
||||
Ada.Text_Io.Put_Line("=========================");
|
||||
Sort_Name(My_Pairs);
|
||||
Print(My_Pairs);
|
||||
end Sort_Composite;
|
||||
Loading…
Add table
Add a link
Reference in a new issue