#include #include #include "bin-trees.h" static void real_pre_order_traverse_no_recurse (tree_ptr root) { struct stack_struct *stack = NULL; if (root != NULL) push (&stack, root); while (stack != NULL) { tree_ptr current = pop (&stack); printf ("%d ", current->data); if (current->right != NULL) push (&stack, current->right); if (current->left != NULL) push (&stack, current->left); } return; } void pre_order_traverse_no_recurse (tree_ptr root) { printf ("pre-order traversal, without recursion: \n"); real_pre_order_traverse_no_recurse (root); printf ("\n"); }