diff options
| author | mo khan <mo.khan@gmail.com> | 2020-08-04 19:58:26 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-08-04 19:58:37 -0600 |
| commit | 6dd72268c1fae4f56b95f9a405eadcb5259e5686 (patch) | |
| tree | da8e0fb9af57a21ebf3c5a346c7c51bc34895503 /src/02/01/main.c | |
| parent | 08d2c8d0264219ee020824534a33bfda1e288a43 (diff) | |
Print out binary tree
Diffstat (limited to 'src/02/01/main.c')
| -rw-r--r-- | src/02/01/main.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/02/01/main.c b/src/02/01/main.c index a16f695..81bbf2f 100644 --- a/src/02/01/main.c +++ b/src/02/01/main.c @@ -1,9 +1,40 @@ #include "binary_tree.h" #include <stdio.h> #include <stdlib.h> +#include <string.h> + +static Node *nodes[32]; +static int visited_count; + +static void visitor(Node *node) { + nodes[visited_count] = node; + visited_count++; +} int main(int argc, char *argv[]) { printf("=== COMP-272 - Assignment 02 - Question 01 ===\n"); - printf("Bye\n"); + + Node *a = initialize(100); + Node *b = initialize(200); + Node *c = initialize(300); + Node *d = initialize(400); + Node *e = initialize(500); + + a->left = b; + a->right = c; + b->left = d; + b->right = e; + inspect(a, 0); + + printf("\n=== Preorder traversal ===\n"); + int visited_count = 0; + memset(nodes, 0, sizeof(nodes)); + + traverse(a, visitor, PREORDER); + + for (int i = 0; i < visited_count; i++) { + printf("%d", nodes[i]->data); + } + return 0; } |
