다음과 같이 보이는 다중 레벨 데이터 구조를 구현하려고합니다.다중 레벨 데이터 구조 (링크 된 목록)
object {
object A {
child {
myChild;
};
child 1 {
mychild;
};
};
object B {
child {
};
};
};
내 접근 방식은 아래와 같이 링크 된 목록을 사용하여 구현하는 것입니다. 연결리스트보다이 다른 구현하거나 연결리스트를 사용하는 다른 더 좋은 방법이 있는지
typedef struct node_s {
char *text;
....;
} node_t;
typedef struct list_s {
STAILQ_ENTRY(list_s) link;
node_t *first_child;
node_t *parent;
node_t *next;
int level;
} list_t;
typedef STAILQ_HEAD(list_head_s, list_s) list_head_t;
제안하시기 바랍니다 될 것입니다 STAILQ (SYS/queue.h 리눅스)에 대한 목록 위의 변환
typedef struct node_s {
struct node_s *next;
struct node_s *first_child;
struct node_s *parent;
char *text;
} node_t;
?
나는 다른 선택의 여지가 C – Bose
를 사용하여 expess 당신 list_s는 나무입니다. 어느 부분에 대해 묻고 있습니까? first_child? – Hogan
전체 list_s를 링크 된 목록으로 구현하려는 경우 위의 문제를 해결하는 다른 방법이 더 있으면 제안 할 수 있습니까? – Bose