Hey çalışıyorum çocuklar benim CS atama (ikinci yıl C kağıdı) üzerine başlamak için.
Bu derste bir İkili arama ağacı ADT ve aynı zamanda bir kırmızı Black Tree ADT oluşturduk. Biz Kırmızı Siyah Ağaç veya kullanıcı girişi bağlı bir İkili arama ağacı olmayı seçecektir ya bir daha genel Ağaç ADT bunları birleştirmek zorundayız.
Yeni numaralandırılmış türü tanımlayarak başladı; Ya RBT veya BST ... ayarlanabilir treetype_t benim ilk soru ben ADT seçileceği bilmiyorum çünkü yapı bildirmek nasıl? Benim bst.c dosyasında örneğin ben:
struct bstnode {
char *key;
bst left;
bst right;
};
ve benim MHK dosyasında ben vardır:
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
Benim ilk fikir gibi bir eğer deyimi sahip olmaktı
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
herhangi bir fikir - Ancak bu ... Başka bir yaklaşım düşünemiyorum çalışacağını sanmıyorum?













