[fpc-pascal] How To write an enumerator for trees
Mattias Gaertner
nc-gaertnma at netcologne.de
Thu Mar 21 08:39:35 CET 2013
On Thu, 21 Mar 2013 11:11:49 +0800
Xiangrong Fang <xrfang at gmail.com> wrote:
> Hi,
>
> I would like to add enumerator support for my TTreap implementation (
> https://github.com/xrfang/fpcollection/blob/master/src/units/treap.pas).
>
> The tree nodes are defined as:
>
> PNode = ^TNode;
> TNode = record
> Count: Cardinal;
> Key: TKey;
> Value: TValue;
> Priority: Cardinal;
> Left, Right: PNode;
> end;
>
> Now I don't know how to write an enumerator for it. I would like to
> traverse the tree "In-Order", either from the left-most node or from the
> right-most node, so that I can output nodes like:
>
> for n in MyTreap do WriteLn(n^.Key);
See here:
http://wiki.freepascal.org/for-in_loop#Declaring_enumerators
Mattias
More information about the fpc-pascal
mailing list