#ifndef BINTREE_H #define BINTREE_H #include // Funktionszeiger für Vergleiche typedef int (*CompareFctType)(const void *arg1, const void *arg2); typedef struct node { void *data; struct node *left; struct node *right; } TreeNode; // Fügt Daten ein. Akzeptiert Duplikate, wenn isDuplicate NULL ist. TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFctType compareFct, int *isDuplicate); // Iteriert über den Baum (stateful mit internem Stack, wie strtok) void *nextTreeData(TreeNode *root); // Löscht den Baum und die Daten void clearTree(TreeNode *root); // Zählt Knoten unsigned int treeSize(const TreeNode *root); #endif