I want to input all of tree's items by one function!!How!!please help me...
I have a class Tree, I want to input all of tree's items by 1 function...I typed code for them..but I have a problems...I couldn't create all Node of Tree because everytime I create new Node,old Node will be overwrite...So InputTreeTemp(root) return root for InputTree(),Tree only has one Node. I don't know how to solve this problem..please help me..thanks very much...
//root is main pointer of Tree that points to main item
//InputTree is a method of class Tree
Code:
template <class Entry>
void Tree<Entry>::InputTree(){
cout<<"Input main item of Tree : ";
InputTreeTemp(root);
}
//InputTreeTemp is a temporary function
//User input a new Node of tree,data = -1 if they don't want to input left Node or right Node
//pduyet to create a new Node.
Code:
template <class Entry>
void Tree<Entry>::InputTreeTemp(NodeTree<Entry> *& ptemp){
Entry data;
cin>>data;
if (data != -1)
{
NodeTree<Entry> * pduyet = new NodeTree<Entry>(data);
cout<<"Left Node "<<pduyet->item<<": ";
InputTreeTemp(ptemp->left);
cout<<"Right Node "<<pduyet->item<<": ";;
InputTreeTemp(ptemp->right);
}
else
return;
}