0
我的BST插入代码已通过3个测试用例,并且因其他3个测试用例而失败,因为测试用例已隐藏我无法弄清楚我的逻辑出错位置。请检查并告知我其他不同的测试用例,我的逻辑不会通过。 这里的代码:BST插入问题
/*
Node is defined as
typedef struct node
{
int data;
node * left;
node * right;
}node;
*/
node * insert(node * root, int value)
{ node* n;
n=root;
if(n!=NULL)
{while (true)
{ if(n->data > value && n->left!=NULL){n=n->left;}
else if(n->data < value && n->right!=NULL){n=root->right;}
else
{ node* a=new node();
a->data=value;
if(n->data > value){ n->left=a;break; }
else{ n->right=a;break; }
}
}
}
else
{node* a=new node();
a->data=value;
root=a;
}
return root;
}
阿什拉夫:该函数声明隐含问题制定者宣布,我不能修改它。 –
好的,我再次重写了这个函数For you Ashish我已经准备好了数据结构 –
谢谢Ashraf,但我没有在寻找解决方案,而是我的疑问是我的代码没有成功产生正确的结果,如果你能用这件事帮助我,我会非常感激你!提前致谢! –