Tag: Add

  • A Simple Binary Tree Implementation in C++

    A very basic binary tree implementation in C++ that defines a binary tree node, adds new nodes and prints the tree.

    #include <stdio.h>
    
    class Node
    {
    public:
    	Node( int v )
    	{
    		data = v;
    		left = 0;
    		right = 0;
    	}
    
    	int data;
    	Node* left;
    	Node* right;
    };
    
    void Add( Node** root, Node* n )
    {
    	if ( !*root  )
    	{
    		*root = n;
    		return;
    	}
    
    	if ( (*root)->data < n->data )
    	{
    		Add( &(*root)->right, n );
    	}
    	else
    	{
    		Add( &(*root)->left, n );
    	}
    }
    
    void Print( Node* node )
    {
    	if ( !node )  return;	
    	Print( node->left );
    	printf( "value = %i\n", node->data );
    	Print( node->right );
    }
    
    int main()
    {
    	Node* root = 0;
    
    	Add( &root, new Node( 1 ) );
    	Add( &root, new Node( 2 ) );
    	Add( &root, new Node( -1 ) );
    	Add( &root, new Node( 12 ) );
    
    	Print( root );
    	return 0;
    }
    

    Output: