pascalabcnet/InstallerSamples/LanguageFeatures/Yields/InfixTraverseTree.pas
miks1965 47abf90efa .NET 4.7.1
pabcworknet.ini - добавлен BOM
i.Print для стандартных типов
f.Seek(i) сделана функцией
Подчистка в Graph3D.pas
2018-01-26 23:37:04 +03:00

20 lines
436 B
ObjectPascal

type Node<T> = auto class
data: T;
left,right: Node<T>;
end;
function CNode<T>(x: T; l: Node<T> := nil;
r: Node<T> := nil): Node<T> := new Node<T>(x,l,r);
function Infix<T>(root: Node<T>): sequence of T;
begin
if root = nil then exit;
yield sequence Infix(root.left);
yield root.data;
yield sequence Infix(root.right);
end;
begin
var root := CNode(1,CNode(2,CNode(3),CNode(4)),CNode(5));
Infix(root).Print;
end.