EQuestionAnswers.com Computer/Electronics Questions and Answers
C, C++, VC++, COM/DCOM, DLL and more
#Login #Sign up  Facebook Twitter TGoogle+
 

Write a binary search tree demo program to insert a new node and display the sorted list.

Source Code

/* bst.cpp : Binary search tree demo program to insert a new node and display the sorted list. */
#include "stdafx.h"
#include<stdlib.h>
struct node{
  int value;
  struct node   *left;
  struct node   *right;
};
10  struct node * new_node(int val)
11  {
12      struct node * new_node = (struct node *)malloc(sizeof(struct node));
13      if(new_node)
14      {
15         new_node->value = val;
16         new_node->left = 0;
17         new_node->right = 0;
18      }
19      else
20      {
21        exit(-1);
22      }
23      return new_node;
24  }
25  struct node * insert(struct node * root, int value)
26  {
27    if(root ==  NULL)
28    {
29      return new_node(value);
30    }
31    else
32    {
33      if(value == root->value)
34      {
35        printf("Value already there!");
36        return NULL;
37      }
38      if(value < root->value)
39      {
40        root->left = insert(root->left, value);
41      }
42      else
43      {
44        root->right = insert(root->right, value);
45      }
46      return root;
47    }
48  }
49  void printout(node * tree) {
50     if(tree->left) printout(tree->left);
51     printf("%d\n",tree->value);
52     if(tree->right) printout(tree->right);
53  }
54 
55  int main(int argc, char* argv[])
56  {
57    struct node * head = NULL;
58    int array[] = { 9,6,3,5,2,1,9,0,4, 50, 30,};
59    for(int i = 0; i < sizeof(array)/sizeof(int); i++)
60    {
61      if(head == NULL)
62      head = insert(head, array[i]);
63      else
64        insert(head, array[i]);
65    }
66    printout(head);
67   return 0;
68  }
69 

Find More from our code collection
Armstrong number, binary number to a decimal number, bubble sort, decimal number to binary number, factorial of the given number factors, fibonacci numbers, HCF and LCM, matrix, mergesort, salary of the employee. palindrome, quadratic equation, star patterns, series etc. and much more...
#Return to Example Source Code