[Dev-C++] Copy Constructor for a BST Class
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
|
From: Socha, D. F <dav...@us...> - 2003-06-08 14:30:42
|
I am using the most current version of DEV C++
=20
This is the code I am currently using for copy constructor on my Binary =
Search Tree code. I don't believe this should cause any problems but if =
anyone can give me help on this I would greatly appricate it. Keep in =
mind that the copy Tree function works on a recursive basis
=20
template <typename T> BST<T>::BST(const BST& origTree){ //copy =
constructor
if(origTree.root){
copyTree(origTree.root, root);
}
}
=20
=20
/************************************************************************=
****
copyTree function
Used by the copy constructor to copy the tree
Sent: pointer to the original node, pointer to the node being copied to
Returns: Nothing
Works by: Creating a new node on the tree being copied, copy the data to =
the
node, checks to see if a left node exists on the tree, if yes
repeat the process using on the left node, if not, do nothing. Then =
checks
the right, if it exists repeat process on the right side, if not, do =
nothing
NOTE: This function is a recursive process
*************************************************************************=
***/
=20
template<typename T> void BST<T>::copyTree(Node* origNode, Node* =
copyNode){
copyNode =3D new Node(origNode->data);
=20
if(origNode->left){
copyTree(origNode->left, copyNode->left);
}
=20
if(origNode->right){
copyTree(origNode->right, copyNode->right);
}
}
//End copyTree
Thanks for all the help,
David Socha
|