Files
dsa/assignment2/main.c
heimoshuiyu f950253b7b Assignment 2
Assignment 2 clang-format

Assignment 2 more comment

Assignment 2 correct comment
2021-05-06 11:25:53 +08:00

67 lines
1.7 KiB
C

#include "BST.h"
#include <stdio.h>
#include <stdlib.h>
int main(void) {
Node *root = NULL;
printTree(root);
printf("After inserting 10:\n");
insertNode(&root, 10);
printTree(root);
printf("\nAfter inserting 5:\n");
insertNode(&root, 5);
printTree(root);
printf("\nAfter inserting 15:\n");
insertNode(&root, 15);
printTree(root);
printf("\nAfter inserting 9, 13:\n");
insertNode(&root, 9);
insertNode(&root, 13);
printTree(root);
printf("\nAfter inserting 2, 6, 12, 14:\n");
insertNode(&root, 2);
insertNode(&root, 6);
insertNode(&root, 12);
insertNode(&root, 14);
printTree(root);
printf("\nSearching for 10, 6, 13, 14, 1, 3, 11, 16:\n");
printf(findNode(root, 10)->key == 10 ? "true\n" : "false\n");
printf(findNode(root, 6)->key == 6 ? "true\n" : "false\n");
printf(findNode(root, 13)->key == 13 ? "true\n" : "false\n");
printf(findNode(root, 14)->key == 14 ? "true\n" : "false\n");
printf(findNode(root, 1) == NULL ? "true\n" : "false\n");
printf(findNode(root, 3) == NULL ? "true\n" : "false\n");
printf(findNode(root, 11) == NULL ? "true\n" : "false\n");
printf(findNode(root, 16) == NULL ? "true\n" : "false\n");
printf("\nAfter deleting 12 (which has no children):\n");
free(deleteNode(&root, 12));
printTree(root);
printf("\nAfter deleting 13 (which has a right child):\n");
free(deleteNode(&root, 13));
printTree(root);
printf("\nAfter deleting 9 (which has a left child):\n");
free(deleteNode(&root, 9));
printTree(root);
printf("\nAfter deleting 5 (which has two children):\n");
free(deleteNode(&root, 5));
printTree(root);
printf("\nAfter deleting 10 (which has two children):\n");
free(deleteNode(&root, 10));
printTree(root);
destroyTree(root);
return 0;
}