Not displaying Tree elements

Not Displaying tree elements.
Here is the code.
Want to know the error.

#include <iostream>

struct TreeNode
{
int number;
TreeNode* left;
TreeNode* right;
};


struct Tree
{
TreeNode* root ;
void insertItem(int);
void insert(TreeNode* n , int val);
void display(TreeNode* n);
void displayTree();
};


void Tree::insertItem(int val)
{
insert(root , val);
std::cout << "DONE\n";
}

void Tree::insert(TreeNode* n , int val)
{
if(n == NULL)
{
n = new TreeNode();
n->number = val;
n->left = NULL;
n->right = NULL;
}
else if(val < n->number)
{
insert(n->left , val);
}
else
{
insert(n->right , val);
}
}

void Tree::display(TreeNode* n)
{
if(n != NULL)
{
std::cout << n->number << "!!\n";
display(n->left);
display(n->right);
}
else
{
std::cout << "NULL\n";
}
}

void Tree::displayTree()
{
display(root);
}


int main()
{
Tree *t = new Tree();
int arr[] = {7,1,2,11,3,4};
for(int i =0; i < (sizeof(arr)/sizeof(arr[0])) ; ++i)
{
t->insertItem(arr[i]);
}
t->displayTree();
}
One obvious problem is that you never initialize root.

PLEASE USE CODE TAGS (the <> formatting button) when posting code. It makes it easier to read your code and to respond to your post.
Topic archived. No new replies allowed.