Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • D

Idiom #17 Create a Tree data structure

The structure must be recursive. A node may have zero or more children. A node has access to its children nodes, but not to its parent.

struct Node(T){
    Node[] children;
    T data;
}

alias TreeOfIntegers = Node!(int);

Inside template Node(T), Node is an alias for the instantiated type.
typedef struct node_s
{
    int value;
    struct node_s *nextSibling;
    struct node_s *firstChild;
} node_t;

New implementation...