9 Commits
8 changed files with 20 additions and 11 deletions
+16 -6
View File
@@ -6,13 +6,12 @@
//TODO: binären Suchbaum implementieren
/* * `addToTree`: fügt ein neues Element in den Baum ein (rekursiv), Done
* `clearTree`: gibt den gesamten Baum frei (rekursiv), Done
* `treeSize`: zählt die Knoten im Baum (rekursiv), Done
* `nextTreeData`: Traversierung mit Hilfe des zuvor implementierten Stacks. */
/* * `addToTree`: fügt ein neues Element in den Baum ein (rekursiv), Done
* `clearTree`: gibt den gesamten Baum frei (rekursiv), Done
* `treeSize`: zählt die Knoten im Baum (rekursiv), Done
* `nextTreeData`: Traversierung mit Hilfe des zuvor implementierten Stacks. Done */
static TreeNode *root = NULL;
static StackNode *stackRoot = NULL;
@@ -56,10 +55,16 @@ TreeNode *addToTreeRec(TreeNode *currentNode, TreeNode *newNode, CompareFctType
{
if ((isDuplicate == NULL) || root)
{
if (isDuplicate != NULL)
{
*isDuplicate = 0;
}
return newNode;
}
else
{
*isDuplicate = 0;
return currentNode;
}
}
@@ -83,7 +88,10 @@ TreeNode *addToTreeRec(TreeNode *currentNode, TreeNode *newNode, CompareFctType
}
}
if (isDuplicate != NULL)
{
*isDuplicate = 0;
}
return currentNode;
}
@@ -185,5 +193,7 @@ int treeSizeRec(const TreeNode *currentNode)
nodeCount += treeSizeRec(currentNode->right);
return nodeCount + 1;
}
return nodeCount;
}
BIN
View File
Binary file not shown.
+2 -3
View File
@@ -109,7 +109,6 @@ void test_nextTreeDataReturnsNextDataCorrectly(void)
testRoot = addToTree(testRoot, &score6, sizeof(int), compareIntEntries, NULL);
testRoot = addToTree(testRoot, &score7, sizeof(int), compareIntEntries, NULL);
// Create Stack
StackNode *entry = nextTreeData(testRoot);
@@ -124,7 +123,7 @@ void test_nextTreeDataReturnsNextDataCorrectly(void)
TEST_ASSERT_EQUAL(score2, *(int *)nextTreeData(NULL));
TEST_ASSERT_EQUAL(score4, *(int *)nextTreeData(NULL));
clearStack(entry);
clearTree(testRoot);
}
@@ -215,7 +214,7 @@ int main()
printf("\n============================\nBinary Tree tests\n============================\n");
RUN_TEST(test_addToTreeExpandsTreeCorrectly);
// RUN_TEST(test_nextTreeDataReturnsNextDataCorrectly);
RUN_TEST(test_nextTreeDataReturnsNextDataCorrectly);
RUN_TEST(test_clearTreeworksLikeExpected);
RUN_TEST(test_treeSizeWorkingLikeExpected);
+2 -2
View File
@@ -41,8 +41,8 @@ $(program_obj_filesobj_files): %.o: %.c
bintree: bintree.c
$(CC) $(FLAGS) -c bintree bintree.c
bintreeTests: bintree.o bintreeTests.c $(unityfolder)/unity.c
$(CC) $(FLAGS) -o runbintreeTests bintreeTests.c bintree.o $(unityfolder)/unity.c
bintreeTests: stack.o bintree.o bintreeTests.c $(unityfolder)/unity.c
$(CC) $(FLAGS) -o runbintreeTests bintreeTests.c bintree.o stack.o $(unityfolder)/unity.c
stack: stack.c
$(CC) $(FLAGS) -c stack stack.c
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.