2010-05-13 68 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"); 
}