
Originally Posted by
Salem
Post your latest code for addNode
Code:
...
Tnode* Tree::addNode(Tnode* root, string word)
{
Tnode* node;
if (!root)
{
node = new Tnode;
size_t copyLen = std::min(sizeof(node->word)-1, word.size());
strncpy(node->word, word.c_str(), word.size()-1);
node->word[copyLen] = '\0';
node->left = 0;
node->right = 0;
node->count = 1;
return (node);
}
int cmp = strcmp(word.c_str(), root->word);
if (cmp < 0)
{
node = addNode(root->left, word);
if(!root->left)
{
root->left = node;
}
}
else if (cmp > 0)
{
node = addNode(root->right, word);
if(!root->right)
{
root->right = node;
}
}
else
{
root->count++;
}
return (node);
}
...