donmike25 icon

inlab1

donmike25 | PRO | 12/16/13 02:20:17 PM UTC | 0 ⭐ | 232 👁️ | Never ⏰ | []
C |

1.6 KB

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <stdlib.h>
 
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;
 
}
 
int sum=0;
 
void inorder(tnode*);
void postorder(tnode*);
void preorder(tnode*);
int main()
{
 
 
    tGrow();
    task(root);
    
 
 
    return 0;
 
}
 
void preorder(tnode *node){
 
 
    if (node)
    {
        sum =sum+ node->data;
        preorder(node->left);
        preorder(node->right);
 
    }
 
 
}
 
 
 
void postorder(tnode *node){
 
 
    if (node)
    {
        postorder(node->left);
        postorder(node->right);
        sum += node->data;
    }
 
 
}
 
void inorder(tnode *node){
 
 
    if (node)
    {
        inorder(node->left);
        
        sum += node->data;
        inorder(node->right);
 
    }
 
 
 
 
 
}
void task(tnode* total){
 
    inorder(total);
    printf("Sum of all values : %d\n", sum);
}

Comments