Ответы
===== PascalABC.NET =====
// Реализовано банарное дкрево поиска
type
Node = auto class
public
data: integer;
left, right: Node;
end;
procedure Add(var root: Node; x: integer);
begin
if root = nil then
begin
root := new Node(x, nil, nil);
exit
end;
if root.data > x then
Add(root.left, x)
else if root.data < x then
Add(root.right, x)
end;
function Find(root: Node; x: integer): boolean;
begin
if root = nil then
Result := false
else if root.data = x then
Result := True
else if x < root.data then
Result := Find(root.left, x)
else // if x > root.data then
Result := Find(root.right, x);
end;
begin
var s := Seq(51, 25, 73, 15);
var R: Node;
R := nil;
foreach var x in s do
Add(R,x);
Add(R, 31);
Add(R, 93);
Writeln(R); // если надо дерево посмотреть
Find(R, 73.Print).Println; // вернет True, такой элемент есть
Find(R, 75.Print).Print // вернет False, такого элемента нет
end.