Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment