Hey ragazzi che sto cercando di iniziare il mio incarico CS (carta secondo anno C).
In questo corso abbiamo creato un binario di ricerca albero ADT e anche un albero di ADT Rosso Nero. Dobbiamo riunire in una più generale ADT Albero, che sarà o scegliere di essere un albero Nero Rosso o A Binary Search Albero in base all'input dell'utente.
Ho iniziato con la definizione di un nuovo tipo enumerato; treetype_t, che può essere impostato su RBT o BST ... la mia prima domanda è come faccio io dichiaro la struct dato che non so quale sarà selezionata ADT? ad esempio, nel mio file bst.c ho:
struct bstnode {
char *key;
bst left;
bst right;
};
e nel mio file RBT ho:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
La mia prima idea era di avere un'istruzione if, come
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
Tuttavia non credo che questo lavoro ... non riesco a pensare ad un altro approccio - tutte le idee?













