diff --git a/bintree.c b/bintree.c index a662790..67e73f7 100644 --- a/bintree.c +++ b/bintree.c @@ -14,13 +14,14 @@ static TreeNode *createNode(const void *data, size_t dataSize) if (!newNode) return NULL; - newNode->data = malloc(dataSize); + newNode->data = malloc(dataSize); //hier kein malloc -> nur data pointer? if (!newNode->data) { free(newNode); return 0; } - newNode->data = data; + //newNode->data = data; + memcpy(newNode->data, data, dataSize); return newNode; } @@ -125,12 +126,10 @@ void clearTree(TreeNode *root) // Returns the number of entries in the tree given by root. unsigned int treeSize(const TreeNode* root) { - unsigned int treeSize = 0; - TreeNode* data = nextTreeData(root); - while (data != NULL) - { - treeSize++; - data = nextTreeData(NULL); + if (root == NULL) { + return 0; } - return treeSize; + + return 1 + treeSize(root->left) + treeSize(root->right); + /// ich + alles links + alles rechts } \ No newline at end of file diff --git a/bintree.h b/bintree.h index 721b677..39e5525 100644 --- a/bintree.h +++ b/bintree.h @@ -5,18 +5,19 @@ typedef int (*CompareFctType)(const void *arg1, const void *arg2); //ganz zahlen -void foo(void* ptr) { +/*void foo(void* ptr) { unsigned int* casted_pointer = ptr; unsigned int** a = &casted_pointer; //pointer pointer unsigned int* b = casted_pointer; //pointer unsigned int c = *casted_pointer; //wert } + */ -typedef struct node +typedef struct nodeT { void *data; - struct node *left; - struct node *right; + struct nodeT *left; + struct nodeT *right; } TreeNode; // Adds a copy of data's pointer destination to the tree using compareFct for ordering. Accepts duplicates diff --git a/bintree.o b/bintree.o new file mode 100644 index 0000000..535fb57 Binary files /dev/null and b/bintree.o differ diff --git a/doble b/doble new file mode 100755 index 0000000..bc7db0c Binary files /dev/null and b/doble differ diff --git a/highscore.o b/highscore.o new file mode 100644 index 0000000..027832c Binary files /dev/null and b/highscore.o differ diff --git a/highscores.txt b/highscores.txt index 0b90ef4..e2667b6 100644 --- a/highscores.txt +++ b/highscores.txt @@ -1,5 +1,3 @@ -player2;17901 -player_name2;14920 -player2;14844 -player_name;6977 -player1;3999 +à«;1 +;0 +À«;0 diff --git a/main.o b/main.o new file mode 100644 index 0000000..fe49827 Binary files /dev/null and b/main.o differ diff --git a/numbers.c b/numbers.c index e21f071..f550346 100644 --- a/numbers.c +++ b/numbers.c @@ -5,7 +5,7 @@ #include "numbers.h" #include "bintree.h" -CompareFctType compareFct(const void *arg1, const void *arg2) +int compareFct(const void *arg1, const void *arg2) { const unsigned int *entry1 = arg1; const unsigned int *entry2 = arg2; @@ -56,8 +56,8 @@ unsigned int *createNumbers(unsigned int len) clearTree(numbers); - int duplicatePosition1 = rand() % len; - int duplicatePosition2 = rand() % len; + unsigned int duplicatePosition1 = rand() % len; + unsigned int duplicatePosition2 = rand() % len; while (duplicatePosition2 == duplicatePosition1) { diff --git a/numbers.o b/numbers.o new file mode 100644 index 0000000..8754b9d Binary files /dev/null and b/numbers.o differ diff --git a/stack.o b/stack.o index 07999df..35edb9f 100644 Binary files a/stack.o and b/stack.o differ diff --git a/timer.o b/timer.o new file mode 100644 index 0000000..92bfb6b Binary files /dev/null and b/timer.o differ