Hé les gars, je suis en train de commencer ma mission CS (deuxième année de papier C).
Dans ce cours, nous avons créé un arbre de recherche binaire ADT et aussi un arbre rouge noir ADT. Nous devons les combiner en une plus générale « Arbre » ADT qui soit choisir d'être un arbre rouge noir ou un binaire Recherche Arbre en fonction de l'entrée utilisateur.
J'ai commencé en définissant un nouveau type énuméré; treetype_t qui peuvent être réglés sur RBT ou BST ... ma première question est de savoir comment puis-je le déclare struct puisque je ne sais pas quelle ADT sera sélectionné? par exemple dans mon fichier bst.c je:
struct bstnode {
char *key;
bst left;
bst right;
};
et dans mon dossier RBT je:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
Ma première idée était d'avoir une instruction if telle que
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
Cependant, je ne pense pas que cela fonctionnera ... Je ne peux pas penser à une autre approche - des idées?













