2017-02-19 36 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; 
    } 

现在每天的路线,但我们只能算“孩子“跳跃不”下一个“或”兄弟姐妹“跳跃。

相关问题