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