-
October 4th, 2009, 09:28 PM
#1
Binary Trees
well this may not actually be called a binary tree. but i need a tree that would insert a new element as a children of last element inserted.
I am only inserting 0's and 1's
0's to the left and 1's to the right.
Eg: Inserting 1,0,1,1,0 would give:
......................1
...................../..\
....................0...null
.................../..\
..............null....1
...................../..\
................null.....1
......................../..\
......................0.....null
That means it would create a new level every time i insert an element.
this is what i've thought so far. but it doesnt seem to work.
Please help?
void insert(node *&tree, int ele)
{
if(tree==NULL)
{
tree = new node(ele);
if (flag == 1)
{
cout<<"\nleft insert: made it the root.\n";
tree = tree->left;
}
else if (flag == 2 )
{
cout<<"\nright insert: made it the root.\n";
tree = tree->right;
}
flag = 0;
tree_level++;
return;
}
else if (ele == 0 ) // (ele <= tree -> data)<--for a "decimal" binary tree.
{ flag = 1;//tree = tree->left;
insert(tree->left, ele);
}
else //if ele == 1, the only other possible binary value.
{
flag = 2;//tree = tree->right;
insert(tree->right,ele);
}
return;
}
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|