2017-02-19 3 views
-1

c에서 이진 검색 트리를 만들어야합니다. 나무 안에는 첫 글자로 정리 된 단어 목록이 있습니다. 각 노드에는 문자와 해당 문자로 시작하는 단어 (문자열) 목록과 다른 노드에 대한 포인터가 들어 있습니다. 나는 구조 안에서 단어 목록을 어떻게해야하는지 잘 모르겠습니다. 리스트를 만들기 위해 새로운 구조를 만들어야합니까? 가장 좋은 방법은 뭔가요?C에서이 구조를 설계하는 가장 좋은 방법은 무엇입니까?

지금까지 내 구조는 다음과 같습니다

typedef struct Node { 
      char letter; 

      //where the list of words begginning with letter should be 

      struct Node *left; 
      struct Node *right; 
    } Node; 
+0

문자열 목록은 링크 된 목록으로 구현 될 수 있으며 노드에는 문자와 연결된 목록에 대한 포인터가 포함됩니다. – ultrajohn

답변

0

당신은 노드에 포함 목록에 대한 또 다른 구조체를 만들 수 있습니다. "

struct LIST { 
    char *word; 
    struct LIST *next; 
}; 

typedef struct Node { 
     char letter; 

     struct LIST *words; 

     struct Node *left; 
     struct Node *right; 
} Node; 
+0

굉장히 감사합니다. – Sarah

0

비밀은 잎이 단어를 구성하는에 루트에서 지금 모든 경로를이

typedef struct node 
    { 
     char data; 
     struct node *next; 
     struct node *child; 
    } 

을하는 것입니다,하지만 우리는 단지 수 : 그럼 당신은 목록을 조작하기 위해 별도의 함수를 만들 수 있습니다 자녀 "가"다음 "또는"형제가 아닌 "점프로 점프합니다.

관련 문제