Monday 13 November 2017

C Program to Find the Largest value in a Tree using Inorder Traversal


Code:

#include   stdio.h
#include   stdlib.h

struct btnode

    int value; 
    struct btnode *left, *right; 
}; 
typedef struct btnode node;

/* function prototypes */

void insert(node *, node *);
void inorder(node *);
void largest(node *);

void main() 

    node *root = NULL, *new = NULL ; 
    int num = 1;

    printf("Enter the elements of the tree(enter 0 to exit)\n"); 
    while (1) 
    {     
        scanf("%d",  &num); 
        if (num == 0) 
            break; 
        new  =  malloc(sizeof(node)); 
        new->left  =  new->right  =  NULL; 
        new->value  =  num; 
        if (root  ==  NULL) 
            root = new; 
        else 
        { 
            insert(new, root); 
        } 
    }
    printf("elements in a tree in inorder are\n"); 
    inorder(root);
    largest(root);
}

/* displaying nodes of a tree using inorder */

void inorder(node *root)
{
    if (root != NULL)
    {
        inorder(root->left);
        printf("%d -> ", root->value);
        inorder(root->right);
    }
}

/* inserting nodes into the tree */

void insert(node * new , node *root) 

    if (new->value > root->value) 
    {     
        if (root->right  ==  NULL) 
            root->right  =  new; 
        else 
            insert (new, root->right); 
    } 
    if (new->value < root->value) 
    {     
        if (root->left  == NULL) 
            root->left = new; 
        else 
            insert(new, root->left); 
    }     
}

/* finding largest node in a tree */
void largest(node *root)
{
    if (root->right  == NULL) 
    {
        printf("largest element is %d", root->value);
    }
    while (root != NULL && root->right != NULL)
    {
        root = root->right;
    }
    printf("\nlargest value is %d\n", root->value);
}



Output:

Enter the elements of the tree(enter 0 to exit)
40
20
60
10
30
80
90
0
elements in a tree in inorder are
10 -> 20 -> 30 -> 40 -> 60 -> 80 -> 90
largest value is 90


More C Programs:











100+ Best Home Decoration Ideas For Christmas Day 2019 To Make Home Beautiful

Best gifts for Christmas Day | Greeting cards for Christmas Day | Gift your children a new gift on Christmas day This Christmas d...