Beispiel #1
0
int miniSon(Tas *t, int i) 
{
  if (!hasRight(t, i)) return left(i);
  else {
    int l = left(i); 
    int r = right(i);
    return (t->tab[l] < t->tab[r]) ? l:r;
  }
}
void inorder_traversal(TLDNode *inorder[], long *curIndex, long size, TLDNode *node)
{
    if (hasLeft(node))
    {
        inorder_traversal(inorder, curIndex, size, node->left);
    }
    inorder[*curIndex] = node;
    (*curIndex)++;
    if (hasRight(node))
    {
        inorder_traversal(inorder, curIndex, size, node->right);
    }
}
 const Node* getRight() const {
     assert( hasRight() );
     return this + traversal.rightNodeOffset;
 }
Beispiel #4
0
 void right()
 {
     assert( hasRight() );
     node_ = node_->getRight();
 }