안녕하십니까 저는 CS 과제 (2 학년 C 논문)를 시작하려고합니다.2 개의 개별 ADT를 하나로 결합하기
이 과정에서 이진 검색 트리 ADT와 빨강 검정 트리 ADT를 만들었습니다. 그것들을 사용자 입력에 따라 Red Black Tree 또는 Binary Search Tree 중 하나를 선택하는 하나의 일반 "Tree"ADT로 결합해야합니다.
새로운 열거 형을 정의하여 시작했습니다. treetype_t 어느 RBT 또는 BST로 설정할 수 있습니다 ... 내 첫 번째 질문은 어떻게 ADT가 선택됩니다 모르겠어요 이후 구조체를 선언합니까? 예 :
struct bstnode {
char *key;
bst left;
bst right;
};
을 내 RBT 파일에 내가 가진 : 내 bst.c 파일에 내가 가진
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
내 첫번째 생각은 같은
if (treetype_t == RBT){
struct rbtnode {
char *key;
colour_t colour;
rbt left;
rbt right;
};
}
else{
struct bstnode {
char *key;
bst left;
bst right;
};
}
그러나 if 문을 가지고 있었다 나는 이것이 효과가 있다고 생각하지 않는다. 나는 다른 접근법을 생각할 수 없다 - 어떤 생각?