app.c
contents ::
  app.c
  mylib.c
  mylib.h
  rbt.c
  rbt.h

#include <stdio.h>
#include <stdlib.h>
#include "rbt.h"

void print_key(char *key){
  printf("%s\n", key);
}

void uppercase_key(char *key){
  int i;
  for(i = 0; i<strlen(key)+1; i++){
    if(key[i]>96 && key[i]<123)
      key[i]-=32;
  }
}

void lowercase_key(char *key){
  int i;
  for(i = 0; i<strlen(key)+1; i++){
    if(key[i]>64 && key[i]<91)
      key[i]+=32;
  }
}

void format_key(char *key){
  int i=0;
  if(key[i]>96 && key[i]<123)
    key[i]-=32;
  for(i = 1; i<strlen(key)+1; i++){
    if(key[i]>64 && key[i]<91)
      key[i]+=32;
  }
}

int main(void){
  rbt b = rbt_new();

  printf("RBT insert and pre-order test\n");
  b = rbt_insert(b, "08");
  b = rbt_insert(b, "12");
  b = rbt_insert(b, "09");
  b = rbt_insert(b, "06");
  b = rbt_insert(b, "10");
  b = rbt_insert(b, "07");
  b = rbt_insert(b, "11");
  b = rbt_insert(b, "04");
  b = rbt_insert(b, "01");
  b = rbt_insert(b, "05");
  b = rbt_insert(b, "02");
  b = rbt_insert(b, "03");
  rbt_preorder(b, print_key);
  printf("---\n");
  
  printf("RBT black heights test\n");
  black_height(b, 0,0);
  printf("---\n");
  
  /* REMOVED FOR LAB 19-20
     printf("insert and inorder test\n");
     b = rbt_insert(b, "james");
     b = rbt_insert(b, "john");
     b = rbt_insert(b, "jason");
     b = rbt_insert(b, "luke");
     b = rbt_insert(b, "simon");
     b = rbt_insert(b, "amanda");
     b = rbt_insert(b, "vicki");
     rbt_inorder(b, print_key);
     printf("---\n");
     
     printf("\npreorder test\n");
     rbt_preorder(b, print_key);
     printf("---\n");
     
     printf("\ndelete test\n");
     b = rbt_delete(b, "simon");
     rbt_inorder(b, print_key);
     printf("---\n");
     
     printf("\nto UpperCase test\n");
     rbt_inorder(b, uppercase_key);
     rbt_inorder(b, print_key);
     printf("---\n");
     
     printf("\nto Format test\n");
     rbt_inorder(b, format_key);
     rbt_inorder(b, print_key);
     printf("---\n");
     
     printf("\nto LowerCase test\n");
     rbt_inorder(b, lowercase_key);
     rbt_inorder(b, print_key);
     printf("---\n");
  */

  return EXIT_SUCCESS;
}

James Little