diff --git a/bintree.c b/bintree.c index 4391f2a..c54d5a2 100644 --- a/bintree.c +++ b/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) { - if ((currentNode == NULL)) + /*if ((currentNode == NULL)) { if ((isDuplicate == NULL) || root) { @@ -62,6 +62,19 @@ TreeNode *addToTreeRec(TreeNode *currentNode, TreeNode *newNode, CompareFctType return currentNode; } } + */ + + +// Mögliche Ergänzung -------------------------- +if (currentNode == NULL) +{ + if (isDuplicate != NULL) + *isDuplicate = 0; + + return newNode; +} +//-------------------------------- + else if ((compareFct(currentNode->data, newNode->data) < 0)) { currentNode->left = addToTreeRec(currentNode->left, newNode, compareFct, isDuplicate, 0); diff --git a/bintree.o b/bintree.o index 73661e7..1b42584 100644 Binary files a/bintree.o and b/bintree.o differ diff --git a/numbers.o b/numbers.o index 3e5750d..bd2248e 100644 Binary files a/numbers.o and b/numbers.o differ diff --git a/stack.o b/stack.o index 18453ed..5580458 100644 Binary files a/stack.o and b/stack.o differ