#include <stdio.h>

#include "btree.h"

/* Prints the value of a node */
void print_node(void * data)
{
  printf("%d ", (int) data);
}

/* Compare the data of 2 nodes */
int cmp_nodes(void * data1, void * data2)
{
  if ((int) data1 > (int) data2) return 1;
  if ((int) data1 == (int) data2) return 0;
  return -1;
}

/*! MAIN */
int main(int argc, char * argv[])
{
  Node * root = create_node((void *)5);
  if (!root) return -1;
  if (!insert(root, (void *)8, cmp_nodes)) return -1;
  if (!insert(root, (void *)3, cmp_nodes)) return -1;
  if (!insert(root, (void *)10, cmp_nodes)) return -1;
  if (!insert(root, (void *)2, cmp_nodes)) return -1;

  traverse_tree(root, print_node);
  printf("\n");
  
  clean_tree(root);
  return 0;
}
