Program defines the three member functions for manipulating the subtrees of an N-ary tree. The Subtree member function takes as its lone argument an unsigned int, i, which must be between 0 and N-1. It returns a reference to the subtree of the given tree. Note that this operation is only defined for a non-empty N-ary tree. Given that the tree is not empty, the running time is O(1).
Program: NaryTree Class Member Function Definitions
The AttachSubtree member function takes two arguments. The first is an unsigned integer i between 0 and N-1. The second is a reference to a NaryTree instance. The purpose of this routine is to make the N-ary tree specified by the second argument become the subtree of the given tree. It is only possible to attach a subtree to a non-empty node and it is only possible to attach a subtree in a place of occupied by an empty subtree. If none of the exceptions are thrown, the running time of this function is simply O(1).
The DetachSubtree member function takes a single argument i which is an unsigned integer between 0 and N-1. This routine removes the subtree from a given N-ary tree and returns a reference to that subtree. Of course, it is only possible to remove a subtree from a non-empty tree. Since every non-empty node must have N subtrees, when a subtree is removed it is replaced by an empty tree. Clearly, the running time is O(1) if we assume that no exceptions are thrown.