Skip to main content

Binary Search Tree using C

BST (Binary Search Tree) implementation using C language

Operations: - Create tree, Preorder traversal, Postoreder treaversal, and Inoreder traversal

/* BINARY SEARCH TREE */

#include<stdio.h>
#include<conio.h>

  struct node
  { int info;
    struct node *left_child;
    struct node *right_child;
  }*p=NULL;

  typedef struct node node;
  typedef struct node * nptr;
  //nptr p=NULL;

  nptr create_tree(nptr,int);
  void postorder(nptr);
  void preorder(nptr);
  void inorder(nptr);

    void main()
  { int ch,num;
    
    while(1)
    { clrscr();
      printf("\nBINARY SEARCH TREE \n\n");
      printf(" 1.Create tree\n");
      printf(" 2.Inorder traversal\n");
      printf(" 3.Preorder traversal\n");
      printf(" 4.Postorder traversal\n");
      printf(" 5.Exit\n");
      printf("\n\nEnter ur choice: ");
      scanf("%d",&ch);
      switch(ch)
      { case 1: printf("\nenter the info: ");
scanf("%d",&num);
p=create_tree(p,num);
break;
case 2: inorder(p);
break;
case 3: preorder(p);
break;
case 4: postorder(p);
break;
case 5: exit(0);
default: printf("\n\nInvalid choice\n");
       }
    getch();
   }
  }


  nptr create_tree(nptr p,int num)
  { 
    nptr root;
    
    if(p==NULL)
    { root=(nptr)malloc(sizeof(node));
      root->left_child=NULL;
      root->right_child=NULL;
      //printf("\n\nenter number: ");
      //scanf("%d",&num);
      root->info=num;
   
      p=root;
    }
    else
    { if(p->info>=num)
      { p->left_child=create_tree(p->left_child,num);
//printf("\nleft\n");
      }
      else
      { p->right_child=create_tree(p->right_child,num);
//printf("\nright\n");
      }
    }
  return p;
  }

  void inorder(nptr p)
  { if(p!=NULL)
    { inorder(p->left_child);
      printf("\n %d",p->info);
      inorder(p->right_child);
    }
  }

  void postorder(nptr p)
  { if(p!=NULL)
    { postorder(p->left_child);
      postorder(p->right_child);
      printf("\n %d",p->info);
    }
  }

  void preorder(nptr p)
  { if(p!=NULL)
    { printf("\n %d",p->info);
      preorder(p->left_child);
      preorder(p->right_child);
    }
  }

Comments

Popular posts from this blog

Add JS to the bottom of the page in Drupal 7

How to add JS at bottom of a particular page in Drupal 7 Step 1: Get the page id. In case of front page "is_front"  Step 2: In template.php file of your theme add the below code : function illume_preprocess_page(&$variables) { if ($variables['is_front']) { drupal_add_js(path_to_theme().'/js/util.js', array('type' => 'file', 'scope' => 'footer')); drupal_add_js(path_to_theme().'/js/main.js', array('type' => 'file', 'scope' => 'footer')); drupal_add_js(path_to_theme().'/js/slideimage.js', array('type' => 'file', 'scope' => 'footer')); $variables['bottom_scripts'] = drupal_get_js(); } } This way you can add JS file using drupal_add_js() and define scope as footer. Step 3: Now you can use bottom_script variable to the page tpl file where you want to add JS print $bottom_scripts;

Main menu dropdown parent item clickable in Drupal 8 using Bootstrap 4

 Edit menu--main.html.twig template file {# /**  * @file  * Bootstrap Barrio's override to display a menu.  *  * Available variables:  * - menu_name: The machine name of the menu.  * - items: A nested list of menu items. Each menu item contains:  *   - attributes: HTML attributes for the menu item.  *   - below: The menu item child items.  *   - title: The menu link title.  *   - url: The menu link url, instance of \Drupal\Core\Url  *   - localized_options: Menu link localized options.  *   - is_expanded: TRUE if the link has visible children within the current  *     menu tree.  *   - is_collapsed: TRUE if the link has children within the current menu tree  *     that are not currently visible.  *   - in_active_trail: TRUE if the link is in the active trail.  */ #} {% import _self as menus...

Use Case Diagram for Online Book Store