generated from freudenreichan/info2Praktikum-DobleSpiel
Compare commits
3
Commits
8f3ee7b9d7
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dcdc1949ab | ||
|
|
f513d63ebf | ||
|
|
f249355a30 |
No files matched your search
+7
-6
@@ -38,7 +38,7 @@ void test_add_multiple_elements_to_Tree()
|
||||
|
||||
for(int j = 0; j < 4; ++j)
|
||||
{
|
||||
root = addToTree(root, &value[j], sizeof(int), compare, &duplicate);
|
||||
root = addToTree(root, &value[j], sizeof(int), compare, &duplicate); //Duplikate nicht erlaubt
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_INT(4, treeSize(root));
|
||||
@@ -62,13 +62,13 @@ void test_detect_size() {
|
||||
for (int j = 0; j < 10; ++j) {
|
||||
root = addToTree(root, &values[j], sizeof(int), compare, &duplicate);
|
||||
if (duplicate) {
|
||||
// Optional: prüfen, dass ein Duplikat erkannt wurde
|
||||
// Ist der Wert schon eingefuegt? Also gibt es schon ein Duplikat?
|
||||
TEST_ASSERT_TRUE(duplicate == 1);
|
||||
}
|
||||
duplicate = 0; // zurücksetzen für nächstes Einfügen
|
||||
}
|
||||
|
||||
// Prüfen der Baumgröße ohne Duplikate
|
||||
// Prüfen der Baumgroeße ohne Duplikate
|
||||
TEST_ASSERT_EQUAL_INT(8, treeSize(root));
|
||||
|
||||
clearTree(root);
|
||||
@@ -91,7 +91,7 @@ void test_add_multiplie_elements_one_dup() {
|
||||
}
|
||||
|
||||
|
||||
//Traverses the tree inorder to check wether nextTreeData works
|
||||
|
||||
// Hilfsfunktion: rekursive Inorder-Prüfung
|
||||
void inorderCheck(TreeNode *node, int expected[], int *idx) {
|
||||
if (node == NULL) return;
|
||||
@@ -99,14 +99,14 @@ void inorderCheck(TreeNode *node, int expected[], int *idx) {
|
||||
// Linken Teilbaum prüfen
|
||||
inorderCheck(node->left, expected, idx);
|
||||
|
||||
// Aktuelles Element prüfen
|
||||
// Aktuelles Element prüfen -> wenn das aktuelle Element gefunden wurde, wird naechstes gesucht
|
||||
TEST_ASSERT_EQUAL_INT(expected[*idx], *(int*)node->data);
|
||||
(*idx)++;
|
||||
|
||||
// Rechten Teilbaum prüfen
|
||||
inorderCheck(node->right, expected, idx);
|
||||
}
|
||||
|
||||
//Traverses the tree inorder to check wether nextTreeData works
|
||||
void test_inorder() {
|
||||
TreeNode *root = NULL;
|
||||
int values[] = {5, 3, 7, 2, 4, 6, 8};
|
||||
@@ -120,6 +120,7 @@ void test_inorder() {
|
||||
int expected[] = {2,3,4,5,6,7,8};
|
||||
|
||||
int idx = 0;
|
||||
//rekursives Pruefen der Eintraege
|
||||
inorderCheck(root, expected, &idx);
|
||||
|
||||
// Alle Einträge geprüft?
|
||||
|
||||
@@ -14,7 +14,7 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc
|
||||
{
|
||||
if(data!= NULL && dataSize > 0)
|
||||
{
|
||||
if(root == NULL) //Abbruchbedingung: Keine Wurzel vorhanden, deshalb fügen wir hier einen neuen Knote ein
|
||||
if(root == NULL) //Abbruchbedingung: Keine Wurzel vorhanden, deshalb fuegen wir hier einen neuen Knote ein
|
||||
{
|
||||
TreeNode *newNode = (TreeNode *)malloc(sizeof(TreeNode));
|
||||
if(newNode == NULL)
|
||||
@@ -31,7 +31,7 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc
|
||||
newNode->left = NULL;
|
||||
newNode->right = NULL;
|
||||
|
||||
if(isDuplicate!= NULL) //wenn Zeiger isDUplicate auf einen Wert zeigt, wird isDuplicate auf 0 gesetzt
|
||||
if(isDuplicate!= NULL) //wenn isDuplicate ungelich null, ignoriere duplikate und setze isDuplaicate 0 fuer neues Element
|
||||
{
|
||||
*isDuplicate = 0;
|
||||
}
|
||||
@@ -48,7 +48,7 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDuplicate) {
|
||||
if (isDuplicate) { //Duplikate sollen ignoriert werden
|
||||
*isDuplicate = 1;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
#include <stdlib.h>
|
||||
#include "stack.h"
|
||||
|
||||
//TODO: grundlegende Stackfunktionen implementieren:
|
||||
/* * `push`: legt ein Element oben auf den Stack,
|
||||
* `pop`: entfernt das oberste Element,
|
||||
* `top`: liefert das oberste Element zurück,
|
||||
* `clearStack`: gibt den gesamten Speicher frei. */
|
||||
|
||||
// Pushes data as pointer onto the stack.
|
||||
StackNode *push(StackNode *stack, void *data)
|
||||
{
|
||||
@@ -14,7 +8,7 @@ StackNode *push(StackNode *stack, void *data)
|
||||
{
|
||||
return stack; //Nichts pushen
|
||||
}
|
||||
//if(stack && data){
|
||||
|
||||
StackNode *t = (StackNode *)malloc(sizeof(StackNode));
|
||||
if(!t)
|
||||
{
|
||||
@@ -23,7 +17,7 @@ StackNode *push(StackNode *stack, void *data)
|
||||
t->next = stack;
|
||||
t->data = data;
|
||||
return t; //Gibt den ersten StackNode des Stacks zurueck
|
||||
//}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user