C++ Program to Implement a Linked List representation of a Binary tree














































C++ Program to Implement a Linked List representation of a Binary tree



Program:
#include <iostream>
using namespace std;
#include <conio.h>
struct tree
{
    tree *l, *r;
    int data;
}*root = NULL, *p = NULL, *np = NULL, *q;
 
void create()
{
    int value,c = 0;   
    while (c < 7)
    {
        if (root == NULL)
        {
            root = new tree;
            cout<<"enter value of root node\n";
            cin>>root->data;
            root->r=NULL;
            root->l=NULL;
        }
        else
        {
            p = root;
            cout<<"enter value of node\n";
            cin>>value;
            while(true)
            {
                if (value < p->data)
                {
                    if (p->l == NULL)
                    {
                        p->l = new tree;
                        p = p->l;
                        p->data = value;
                        p->l = NULL;
                        p->r = NULL;
                        cout<<"value entered in left\n";
                        break;
                    }
                    else if (p->l != NULL)
                    {
                        p = p->l;
                    }
                }
                else if (value > p->data)
                {
                    if (p->r == NULL)
                    {
                        p->r = new tree;
                        p = p->r;
                        p->data = value;
                        p->l = NULL;
                        p->r = NULL;
                        cout<<"value entered in right\n";
        break;
    }
                    else if (p->r != NULL)
                    {
                        p = p->r;
                    }
                 }
             }
        }
        c++;
    }
}
void inorder(tree *p)
{
    if (p != NULL)
    {
        inorder(p->l);
        cout<<p->data<<endl;
        inorder(p->r);
    }
}
void preorder(tree *p)
{
    if (p != NULL)
    {
        cout<<p->data<<endl;
        preorder(p->l);
        preorder(p->r);
    }
}
void postorder(tree *p)
{
    if (p != NULL)
    {
        postorder(p->l);
        postorder(p->r);
        cout<<p->data<<endl;
    }
}
int main()
{
    create();
    cout<<"printing traversal in inorder\n";
    inorder(root);
    cout<<"printing traversal in preorder\n";
    preorder(root);
    cout<<"printing traversal in postorder\n";
    postorder(root);
    getch();
}
Output:
enter value of root node
7
enter value of node
8
value entered in right
enter value of node
4
value entered in left
enter value of node
6
value entered in right
enter value of node
3
value entered in left
enter value of node
5
value entered in left
enter value of node
2
value entered in left
printing traversal in inorder
2
3
4
5
6
7
8
printing traversal in preorder
7
4
3
2
6
5
8
printing traversal in postorder
2
3
5
6
4
8
7



More Articles of Shaik Aftab Ahmed:

Name Views Likes
C++ Program to Find the Frequency of Odd & Even Numbers in the given Matrix 340 1
C++ program to Sort a Linked List Using Merge Sort 316 1
C++ Program to Implement a Linked List representation of a Binary tree 296 1
C++ Program to Check for balanced parentheses in an expression 199 1
C++ Program to Perform Inorder, Preorder, Postorder traversals in a binary tree. 247 1
C++ program to print Indian flag 290 1
C++ program to Convert a multi level linked list to a singly linked list 201 1
C++ program to print right view of a Binary tree using queue 213 1
C++ Program to implement Huffman Coding Compression Algorithm 1268 1
C++ Program to Create a Height Balanced Binary Tree 241 1
C++ program to implement Prims algorithm 412 1
C++ Program for BFS Traversal 256 1
C++ Progam to Evaluate a Prefix Expression 296 1
C++ Program to Implement Queue using Linked List 224 1
C++ implementation of Stack using Linked list 247 1
C++ program to find the intersection point of two linked lists 288 1
C++ program to count the inversions in the given array 251 1
C++ program to perform D.N.F sort 294 1
C++ program to print all possible subsets of a String 261 1
C++ program to count the number of ones in a binary representation of a number 283 1
C++ program to print all possible subsets of a set 294 1
C++ program to find the largest word in a String 264 1
C++ Program to print a matrix in Spiral order 308 1
C++ program to convert from Binary to Decimal, Octal to Decimal, Hexadecimal to Decimal 277 1
C limits library 312 1
Program to add two Binary numbers 296 1

Comments