Hé srácok próbálok elindulni az én CS megbízás (második év C papír).
Ebben természetesen hoztunk létre bináris kereső fába ADT és egy piros-fekete fa ADT. Meg kell egyesíteni őket egy sokkal általánosabb „Fa” ADT, amely vagy úgy dönt, hogy egy piros-fekete fa vagy bináris kereső fába felhasználói input.
Elkezdtem meg egy új felsorolt típus; treetype_t amelyet akár állítani RBT vagy BST ... az első kérdés az, hogyan Kijelentem struct, mert én nem tudom, melyik ADT lesz kiválasztva? pl az én bst.c fájl van:
struct bstnode {
char *key;
bst left;
bst right;
};
és az én RBT fájl van:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
Első gondolatom az volt, hogy az if, mint
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
Azonban nem hiszem, hogy ez működni fog ... nem tudok gondolni egy másik megközelítés - bármilyen ötletet?













