#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "btree.h"

int main()
{
  int i;
  char data[20];
  tree btree;

  InitBTree(&btree);

	 InsertNode(&btree,"h",1,1);
	 InsertNode(&btree,"B",2,1);
	 InsertNode(&btree,"k",3,1);
	 InsertNode(&btree,"C",4,1);
	 InsertNode(&btree,"f",5,1);
	 InsertNode(&btree,"G",6,1);
	 InsertNode(&btree,"y",7,1);
	 InsertNode(&btree,"a",8,1);
	 InsertNode(&btree,"x",9,1);
	 InsertNode(&btree,"i",10,1);

  GoTop(&btree);
  printf("Print tree inorder\n");
  printf("--------------------------\n");
  PrintBTreeInorder(btree.root);
  printf("--------------------------\n");
  GoTop(&btree);
  printf("Top      = %s,  %d\n",btree.current->data,btree.current->index);
  GoToNext(&btree);
  printf("Next     = %s,  %d\n",btree.current->data,btree.current->index);
  GoBottom(&btree);
  printf("End      = %s,  %d\n",btree.current->data,btree.current->index);
  GoToPrev(&btree);
  printf("Previous = %s,  %d\n",btree.current->data,btree.current->index);
  
  i=SeekNode(&btree,"g",1);
  printf("Seek \"g\"\n");
  printf("   Current = %s,  found =%d\n",btree.current->data,i);

  i =SeekNode(&btree,"k",1);
  printf("Seek \"k\"\n");
  printf("   Current = %s,  found =%d\n",btree.current->data,i);

  printf("Delete current node\n");
  printf("--------------------------\n");
  printf("Delete   = %s,  %d\n",btree.current->data,btree.current->index);
  DeleteCurrentNode(&btree);
  printf("Current  = %s,  %d\n",btree.current->data,btree.current->index);

  printf("Print tree inorder\n");
  printf("--------------------------\n");
  PrintBTreeInorder(btree.root);

/*
  printf("----------PREORDER----------\n");
  PrintBTreePreorder(btree.root);
  printf("----------POSTORDER----------\n");
  PrintBTreePostorder(btree.root);
 */
  FreeBTree(&btree);
  exit(0);
}
