#include #include struct tNode{ int data; struct tNode *left; struct tNode *right; }; struct tNode *initNode (int data); void tGrow (); void task (struct tNode *total); void preorder (struct tNode *node); void postorder (struct tNode *node); void inorder (struct tNode *node); struct tNode *root; int main() { tGrow (); task (root); return 0; } void preorder (struct tNode *node){ if(node){ if (node->data==2) printf("hello\t"); else { printf("%d\t",node-> data); } preorder (node->left); preorder (node->right); } } void postorder (struct tNode *node){ if(node){ postorder (node->left); postorder (node->right); if (node->data==2) printf("hello\t"); else { printf("%d\t",node-> data); } } } void inorder (struct tNode *node){ if(node){ inorder (node->left); if (node->data==2) printf("hello\t"); else { printf("%d\t",node-> data); } inorder (node-> right); } } void tGrow (void){ root = initNode(0); root->left = initNode(1); root->right = initNode(2); root->left->left = initNode(3); root->left->right = initNode(4); root->left->left->left = initNode(5); root->left->left->right = initNode(6); root->left->right->left = initNode(7); root->left->right->right = initNode(8); root->right->left = initNode(9); root->right->right = initNode(10); root->right->left->left = initNode(11); root->right->left->right = initNode(12); root->right->right->left = initNode(13); root->right->right->right = initNode(14); } void task (struct tNode *total){ printf(" Inorder traversal:"); inorder(total); } struct tNode *initNode (int data){ struct tNode *result; result= (struct tNode*)malloc(sizeof(struct tNode)); result->data=data; result->left=NULL; result->right=NULL; }