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
//InputTreeTemp is a temporary functionCode:template <class Entry> void Tree<Entry>::InputTree(){ cout<<"Input main item of Tree : "; InputTreeTemp(root); }
//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; }