Hei folkens Jeg prøver å komme i gang på min CS oppdrag (andre året C papir).
I dette kurset har vi skapt et binært søketre ADT og også en Red Black Tree ADT. Vi må kombinere dem til en mer generell Tree ADT som enten velge å være en Red Black Tree eller et binært søketre avhengig av brukerens input.
Jeg har startet med å definere en ny nummerert type; treetype_t som enten kan settes til RBT eller BST ... mitt første spørsmål er hvordan kan jeg erklære struct siden jeg ikke vet hvilken ADT vil bli valgt? for eksempel i min bst.c fil jeg har:
struct bstnode {
char *key;
bst left;
bst right;
};
og i min RBT fil jeg har:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
Min første idé var å ha en if setning som
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
Men jeg tror ikke dette vil fungere ... Jeg kan ikke tenke på en annen måte - noen ideer?













