Как отобразить связанный список в структуре в C - PullRequest
2 голосов
/ 13 мая 2010
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.

Мое желание получить при отображении связанного списка 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 (столбец списка вывода). Я не знаю, мой вопрос ясен, пожалуйста, попросите дополнительную информацию.

1 Ответ

1 голос
/ 13 мая 2010

Если вы просто хотите напечатать родительский узел с его дочерним списком, вы можете сделать следующее:

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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...