void preorder_walk(struct t_node *root, print pr) { if(root) { pr(root->data); preorder_walk(root->left, pr); preorder_walk(root->right, pr); } }
int main(void) { /* int inorders[] = {4, 7, 2, 1, 5, 3, 8, 6}; int preorders[] = {1, 2, 4, 7, 3, 5, 6, 8}; struct TreeNode* root = rebuilt_tree(preorders, 0, 7, inorders, 0, 7); preorder_walk(root); printf("\n"); inorder_walk(root); printf("\n"); */ int inorders_tree1[] = {9, 8, 4, 2, 7, 18, 17}; int preorders_tree1[] = {18, 8, 9, 2, 4, 7, 17}; struct TreeNode* tree1 = rebuilt_tree(preorders_tree1, 0, 6, inorders_tree1, 0, 6); preorder_walk(tree1); printf("\n"); inorder_walk(tree1); printf("\n"); int inorders_tree2[] = {9, 8, 2}; int preorders_tree2[] = {8, 9, 2}; struct TreeNode* tree2 = rebuilt_tree(preorders_tree2, 0, 2, inorders_tree2, 0, 2); preorder_walk(tree2); printf("\n"); inorder_walk(tree2); printf("\n"); printf("Contain: %d\n", contain_substructure(tree1, tree2)); }
void preorder_walk(avl_node *root) { if(root == NULL) return; printf("key: %d ", root->key); preorder_walk(root->left); preorder_walk(root->right); }
void preorder_walk(struct nod_arbore *radacina) { if (radacina != NULL) { printf("%d ", radacina->key); preorder_walk(radacina->left); preorder_walk(radacina->right); } }
void preorder_walk(struct TreeNode* root) { if (root == NULL) { return; } printf("%d ", root->value); if (root->left != NULL) { preorder_walk(root->left); } if (root->right != NULL) { preorder_walk(root->right); } }
void preorder(struct bs_tree *tree, print pr) { preorder_walk(tree->root, pr); printf("\n"); }