IHYPRESS PROGRAMMING
Tutorials and C programs with code and output for beginners
c programming
HOME | ASP | C | CSS | GNUPLOT | HTML | JAVASCRIPT | PERL | PHP | PYTHON | RUBY | SVG
arrow_circle_left
share
arrow_circle_right
CAdvanced Programming : Binary Search Tree Insertion
<12.03>
#include <stdio.h> #include <stdlib.h> // node structure typedef struct node2 { int number; struct node2 *left; struct node2 *right; } node2; // a function to create a new leaf node (node2) node2* createnode (int data) { node2* newnode = (node2*) calloc (1, sizeof(node2)); newnode->number = data; newnode->left = NULL; newnode->right = NULL; return (newnode); } // insertion recursive function node2* insert (node2* root, int data) { // if tree empty, insert a first node if (root == NULL) {root = createnode (data); return (root);} // if value smaller, put into left subtree if (data < root->number) root->left = insert (root->left, data); // if value larger, put into right subtree else if (data > root->number) root->right = insert (root->right, data); // if value equal, duplicate key, do nothing return (root); } // in-order traversal recursive function void inorder (node2* root) { if (root != NULL) { inorder (root->left); // visit left subtree printf("%d ", root->number); // print current node inorder (root->right); // visit right subtree } } int main (void) { node2* root; root = NULL; // inserting the nodes into the tree root = insert(root, 40); insert (root, 20); insert (root, 10); insert (root, 50); insert (root, 65); insert (root, 45); insert (root, 30); printf ("In-Order traversal: "); inorder (root); printf ("\n"); return (0); }
Hergestellt in Deutschland / Made in Germany
In-Order traversal: 10 20 30 40 45 50 65
COPYRIGHT © 2015-2026 IHY PRESS Frankfurt am Main 60329 Deutschland