BST insert in C++
问题 I'm learning C++ and writing a binary search tree. The following is the code I wrote for my insert method. BSTNode * BST::Insert(const std::string & v) { BSTNode *n = !root ? root = new BSTNode(v) : Insert_Helper(v,root); if(n) size++; return n; } BSTNode * BST::Insert_Helper(const std::string & v, BSTNode *n) { if(!n->value.compare(v)) return NULL; // already have v else if(n->value.compare(v) > 0) // v goes to the left if(n->left) return Insert_Helper(v,n->left); else return n->left = new