Hola chicos estoy tratando de empezar a trabajar en mi tarea de CS (papel de segundo año C).
En este curso hemos creado un árbol de búsqueda binaria ADT y también un árbol ADT Negro Rojo. Tenemos que combinarlos en un solo ADT más general árbol que, o bien optar por ser un árbol Negro Rojo o un árbol de búsqueda binaria en función de la entrada del usuario.
He comenzado mediante la definición de un nuevo tipo enumerado; treetype_t que pueden estar ajustados en RBT o BST ... mi primera pregunta es ¿cómo Declaro la estructura ya no sé lo que será seleccionado ADT? por ejemplo, en mi archivo bst.c que tengo:
struct bstnode {
char *key;
bst left;
bst right;
};
y en mi archivo RBT que tengo:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
Mi primera idea era tener una sentencia if como
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
Sin embargo no creo que esto va a funcionar ... No puedo pensar en otro enfoque - cualquier idea?













