Keresem teremthetünk olyan generikus BST. Semmi kedve nem COTS, de próbálom eldönteni, hogy a legjobb módja annak, hogy nyomon követheti a típus a void *. Itt a felület a csomópontok:
typedef struct
{
void *data;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
Azonban, amikor írok hozzáadni / eltávolítani, azt kell tennie összehasonlításokat, ezért azt meg kell nyomon követni, hogy milyen típusú adatok az „adat” mutat, igaz?
Alapötlet az, hogy van egy enum NODE_TYPE egy funkciót compareTreeNodes, amely befogadja a két TreeNodes és enum a 3. arg. Ez lehetővé tenné, hogy a funkciója, hogy meghatározza, hogy mit kell a leadott void * a.
Minden más / jobb gondolatok?













