Exemple #1
0
node* treeList(node *n)
{
  node *temp;

  if(n -> right == NULL && n -> left == NULL)
    {
      n -> left = n;
      n -> right = n;
      return(n);
    }

  else if(n -> right == NULL && n -> left != NULL)
    {
      n = appendL(n, treeList(n -> left));
      return(n);
    }

  else if(n -> left == NULL && n -> right != NULL)
    {
      n = appendR(n, treeList(n -> right));
      return(n);
    }
  
  else
    {
      temp = n -> right;
      n = appendL(n, treeList(n -> left));
      n = appendR(n, treeList(temp));
      return(n);
    }
}
Exemple #2
0
 void SList::insertAfterL(SListElem* e, void* d) {
   if (e == tailL()) {
     appendL(d);
   } else if (e == NULL) {
     prependL(d);
   } else {
     SListElem* newe = new SListElem(d, e->nextL());
     e->setNextL(newe);
     _len++;
   }
 }