RosettaCodeData/Task/Same-Fringe/Ada/same-fringe-1.ada
Ingy döt Net b83f433714 tasks a-s
2013-04-10 23:57:08 -07:00

26 lines
665 B
Ada

generic
type Data is private;
package Bin_Trees is
type Tree_Type is private;
function Empty(Tree: Tree_Type) return Boolean;
function Left (Tree: Tree_Type) return Tree_Type;
function Right(Tree: Tree_Type) return Tree_Type;
function Item (Tree: Tree_Type) return Data;
function Empty return Tree_Type;
procedure Destroy_Tree(N: in out Tree_Type);
function Tree(Value: Data) return Tree_Type;
function Tree(Value: Data; Left, Right : Tree_Type) return Tree_Type;
private
type Node;
type Tree_Type is access Node;
type Node is record
Left, Right: Tree_Type := null;
Item: Data;
end record;
end Bin_Trees;