2010-05-13 70 views
2
typedef struct child_list {int count; char vo[100]; child_list*next;} child_list; 
typedef struct parent_list 
{ char vo[100]; 
child_list * head; 
int count; 
parent_list * next; } parent_list; 

如您所见,有两种结构。 child_list用于创建链接列表。此列表将存储在父列表的链接列表中。我的问题是显示在parent_list中的子列表。如何在C中的结构中显示链接列表C

我渴望得到的,同时显示的parent_list链表:

此列出与此逻辑工作。我已经做了附加和其他的东西。

例如,如果我输入ab cd ab ja cd ab

Word Count List 

ab  3  cd->ja 

cd  2  ab->ab 

ja  1  cd 

有问题的部分被显示child_list这是在parent_list节点(输出的列表的列)。我不知道我的问题很明确,请询问更多信息。

+0

请邮寄到现在为止您编写的代码,StackOverflow的是一个咨询/帮助网站不是一个“请写信我的代码为我“网站。如果您向我们展示您迄今为止撰写的内容,我们可以提出建议并为接下来的步骤提供建议。 – 2010-05-13 12:37:26

+0

我不是问这个。我在问一个不完整的代码的想法。所以,请将你的判断保存到你自己。我分享了应该知道的东西。 – LuckySlevin 2010-05-13 12:52:09

+0

请解释您的输入如何连接到您的输出。例如,我看不到“cd-> ja”来自哪里。 cd和ja有什么关系? – Arkadiy 2010-05-13 14:11:46

回答

1

如果你只想打印与其子列表中的父节点,你可以不喜欢以下

void print_node(parent_list *parent_node) { 
    printf("%s\t%d\t", parent_node->vo, parent_node->count); 

    child_list *child_node = parent_node->head; 
    while (child_node != NULL) { 
     printf("%s", child_node->vo); 

     child_node = child_node->next; 

     if (child_node != NULL) { 
      printf("->"); 
     } 
    } 
    printf("\n"); 
}