33 lines
802 B
Ada
33 lines
802 B
Ada
package body Opt27_Pkg is
|
|
|
|
type Node_Rec_T is record
|
|
Element : Element_T;
|
|
Left : Node_T;
|
|
Right : Node_T;
|
|
end record;
|
|
|
|
function Is_Null (Node : in Node_T) return Boolean is
|
|
begin
|
|
return (Node = null);
|
|
end Is_Null;
|
|
|
|
function Find_Elem (Template : Template_T; List : List_T) return Node_T is
|
|
Element_Found : Boolean := False;
|
|
Node_Walker : Node_T := null;
|
|
begin
|
|
Node_Walker := List.First_Node;
|
|
|
|
while not Element_Found and (Node_Walker /= null) loop
|
|
|
|
if Is_Match (Node_Walker.Element, Template) then
|
|
Element_Found := True;
|
|
else
|
|
Node_Walker := Node_Walker.Right;
|
|
end if;
|
|
end loop;
|
|
|
|
return Node_Walker;
|
|
end;
|
|
|
|
end Opt27_Pkg;
|