Troubleshooting wegen gefailter Tests. Aenderungen in bintree.c bei Duplikatsüberprüfung
This commit is contained in:
parent
6586a25fdb
commit
25da0d20df
15
bintree.c
15
bintree.c
@ -51,7 +51,7 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc
|
|||||||
|
|
||||||
TreeNode *addToTreeRec(TreeNode *currentNode, TreeNode *newNode, CompareFctType compareFct, int *isDuplicate, const int root)
|
TreeNode *addToTreeRec(TreeNode *currentNode, TreeNode *newNode, CompareFctType compareFct, int *isDuplicate, const int root)
|
||||||
{
|
{
|
||||||
if ((currentNode == NULL))
|
/*if ((currentNode == NULL))
|
||||||
{
|
{
|
||||||
if ((isDuplicate == NULL) || root)
|
if ((isDuplicate == NULL) || root)
|
||||||
{
|
{
|
||||||
@ -62,6 +62,19 @@ TreeNode *addToTreeRec(TreeNode *currentNode, TreeNode *newNode, CompareFctType
|
|||||||
return currentNode;
|
return currentNode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// Mögliche Ergänzung --------------------------
|
||||||
|
if (currentNode == NULL)
|
||||||
|
{
|
||||||
|
if (isDuplicate != NULL)
|
||||||
|
*isDuplicate = 0;
|
||||||
|
|
||||||
|
return newNode;
|
||||||
|
}
|
||||||
|
//--------------------------------
|
||||||
|
|
||||||
else if ((compareFct(currentNode->data, newNode->data) < 0))
|
else if ((compareFct(currentNode->data, newNode->data) < 0))
|
||||||
{
|
{
|
||||||
currentNode->left = addToTreeRec(currentNode->left, newNode, compareFct, isDuplicate, 0);
|
currentNode->left = addToTreeRec(currentNode->left, newNode, compareFct, isDuplicate, 0);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user