donmike25 icon

donmike version lab 2

donmike25 | PRO | 12/17/13 08:57:35 PM UTC | 0 ⭐ | 193 👁️ | Never ⏰ | []
C |

1.78 KB

|

None

|

0 👍

/

0 👎

#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;
}

Comments