#include #include typedef struct tNode { int data; struct tNode *left; struct tNode *right; }tnode; tnode *initNode(int); void tGrow(); void task(tnode*); tnode *root; void tGrow(){ 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); } tnode *initNode(int data){ tnode *temp; temp = (tnode *)malloc(sizeof(tnode)); temp->data = data; temp->right = NULL; temp->left = NULL; return temp; } void inorder(tnode*); void postorder(tnode*); void preorder(tnode*); void preorder(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(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(tnode *node){ if (node) { inorder(node->left); if (node->data == 2) printf("hello\t"); else { printf("%d\t", node->data); } inorder(node->right); } } void task(tnode* total){ printf("Inorder traversal: "); inorder(total); } int main() { tGrow(); task(root); }