Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
|
|
@ -0,0 +1,31 @@
|
|||
type Node<T> = auto class
|
||||
data: T;
|
||||
left,right: Node<T>;
|
||||
end;
|
||||
|
||||
function CreateTree(n: integer): Node<integer>;
|
||||
begin
|
||||
if n = 0 then
|
||||
Result := nil
|
||||
else
|
||||
Result := new Node<integer>(
|
||||
Random(100),
|
||||
CreateTree((n-1) div 2),
|
||||
CreateTree(n-1 - (n-1) div 2)
|
||||
);
|
||||
end;
|
||||
|
||||
procedure InfixTraverse<T>(root: Node<T>; act: T -> ());
|
||||
begin
|
||||
if root = nil then
|
||||
exit;
|
||||
InfixTraverse(root.left,act);
|
||||
act(root.data);
|
||||
InfixTraverse(root.right,act);
|
||||
end;
|
||||
|
||||
begin
|
||||
var tree := CreateTree(10);
|
||||
Println(tree);
|
||||
InfixTraverse(tree, x -> Print(x));
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue