Jeg ser inn i å skape en generisk BST. Ikke noe fancy ingen COTS, men jeg prøver å bestemme den beste måten å holde oversikt over hvilken type tomrommet *. Her er grensesnittet for nodene:
typedef struct
{
void *data;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
Men når jeg skriver legg til / fjern, jeg trenger å gjøre sammenligninger, derfor jeg trenger for å holde styr på hvilken type data som data peker på, ikke sant?
Grunnleggende ideen er å ha en enum NODE_TYPE og en funksjon compareTreeNodes som mottar de to TreeNodes og enum som en tredje arg. Dette gir funksjonen til å finne ut hva du skal kaste tomrommet * til.
Eventuelle andre / bedre tanker?













