generated from freudenreichan/info2Praktikum-DobleSpiel
28 lines
688 B
C
28 lines
688 B
C
#ifndef BINTREE_H
|
|
#define BINTREE_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
// 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 |