All pastes #387416 Raw Edit

Stuff

public c v1 · immutable
·published 2007-03-09 10:40 UTC
rendered paste body
//trees.h#define ALREADY_IN_TREE 1#define OUT_OF_MEMORY 2struct Tree {  int elem;  struct Tree *left;  struct Tree *right;};extern struct Tree *insertElem (int, struct Tree *, int *);// trees.c#include <stdlib.h>#include <trees.h>/* insert element into tree; return error if already present */struct Tree *insertElem (int elem, struct Tree *tree, int *errno) {  if (tree != NULL) {    if (elem == tree->elem) {      *errno = ALREADY_IN_TREE;      return (NULL);    }    if (elem < tree->elem)       tree->left = insertElem (elem, tree->left, errno);    else       tree->right = insertElem (elem, tree->right, errno);  }  else {    /* create a new leaf */    tree = malloc (sizeof (struct Tree));    if (!tree) {      *errno = OUT_OF_MEMORY;      return (NULL);    }        tree->elem = elem;    tree->left = NULL;    tree->right = NULL;  }  return tree;}