/* File: demo8b.c * * Demonstrate binary search tree * */ #include #include #include "bst.h" int main() { tnode *tree = NULL ; printf("\n\n### Testing bst_insert() ###\n") ; tree = bst_insert(tree, 765) ; tree = bst_insert(tree, 339) ; tree = bst_insert(tree, 605) ; tree = bst_insert(tree, 231) ; tree = bst_insert(tree, 751) ; tree = bst_insert(tree, 719) ; tree = bst_insert(tree, 695) ; tree = bst_insert(tree, 674) ; tree = bst_insert(tree, 938) ; tree = bst_insert(tree, 750) ; tree = bst_insert(tree, 112) ; tree = bst_insert(tree, 434) ; tree = bst_insert(tree, 772) ; tree = bst_insert(tree, 852) ; tree = bst_insert(tree, 166) ; tree = bst_insert(tree, 914) ; tree = bst_insert(tree, 930) ; tree = bst_insert(tree, 152) ; tree = bst_insert(tree, 984) ; tree = bst_insert(tree, 941) ; tree = bst_insert(tree, 416) ; tree = bst_insert(tree, 731) ; tree = bst_insert(tree, 639) ; tree = bst_insert(tree, 91) ; tree = bst_insert(tree, 400) ; tree = bst_insert(tree, 976) ; tree = bst_insert(tree, 532) ; tree = bst_insert(tree, 153) ; tree = bst_insert(tree, 520) ; tree = bst_insert(tree, 193) ; tree = bst_insert(tree, 4) ; tree = bst_insert(tree, 202) ; printf("-------------------------------------------------------------------\n") ; bst_walk(tree) ; printf("-------------------------------------------------------------------\n") ; int n, found ; tnode *ptr ; printf("\n\n### Testing bst_find() ###\n") ; n = 719 ; ptr = bst_find(tree, n) ; if (ptr != NULL) { printf("Found %d\n", ptr->data) ; } else { printf("Did not find %d\n", n) ; } n = 256 ; ptr = bst_find(tree, n) ; if (ptr != NULL) { printf("Found %d\n", ptr->data) ; } else { printf("Did not find %d\n", n) ; } printf("\n\n### Testing bst_remove() ###\n") ; n = 605 ; tree = bst_remove(tree, n, &found) ; if (found) { printf("Found %d\n", n) ; } else { printf("Did not find %d\n", n) ; } printf("-------------------------------------------------------------------\n") ; bst_walk(tree) ; printf("-------------------------------------------------------------------\n") ; n = 333 ; tree = bst_remove(tree, n, &found) ; if (found) { printf("Found %d\n", n) ; } else { printf("Did not find %d\n", n) ; } printf("-------------------------------------------------------------------\n") ; bst_walk(tree) ; printf("-------------------------------------------------------------------\n") ; n = 765 ; tree = bst_remove(tree, n, &found) ; if (found) { printf("Found %d\n", n) ; } else { printf("Did not find %d\n", n) ; } printf("-------------------------------------------------------------------\n") ; bst_walk(tree) ; printf("-------------------------------------------------------------------\n") ; bst_destroy(tree) ; return 0 ; }