Hey guys Próbuję zacząć na moim przypisania CS (drugi rok papieru C).
W tym kursie stworzyliśmy binarne drzewo poszukiwań ADT, a także drzewo czerwono-czarne ADT. Musimy połączyć je w jeden bardziej ogólnego „drzewo” ADT, który będzie albo wybrać się drzewo czerwono-czarne lub A binarne drzewo poszukiwań w zależności od danych wejściowych użytkownika.
Zacząłem od zdefiniowania nowego typu wyliczany; treetype_t które mogą być albo ustawiony RBT lub BST ... moje pierwsze pytanie brzmi jak mogę zadeklarować struct ponieważ nie wiem, który zostanie wybrany ADT? np w moim pliku bst.c mam:
struct bstnode {
char *key;
bst left;
bst right;
};
w moim pliku RBT mam:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
Moim pierwszym pomysłem było mieć jeśli oświadczenie takie jak
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
Jednak nie sądzę, to będzie działać ... Nie mogę myśleć o innym podejściu - jakieś pomysły?













