Несколько связанных списков в C - PullRequest
0 голосов
/ 10 мая 2010

У меня проблема со связанными списками. Я уже знаю, как создавать структуры и связанный список. Но теперь мне нужно создать произвольное количество связанных списков, которые также будут храниться в другой структуре. Что означает:

struct list{int x, struct list *next; };
struct parent{int x, struct list  *head, struct parent *next;}   

И после создания списков при вводе этого ввода, например, «123134» связанный список должен выглядеть так:

1 -> 2 -> 3 -> 4

И, например, 1 будет содержать 2-> 3 списка внутри него, 3 будет содержать 1-> 4 списка внутри него.

Мне нужна отправная точка и искра от вас. Так как я могу это сделать?

1 Ответ

2 голосов
/ 10 мая 2010

Нарисуйте свой список диаграмм, что часто помогает.

Start
 |
list1 -> node1 -> node2
 |
list2 -> node_a -> node_b -> node_c
 |
list3 {empty}
 |
list4 -> node_1A

Учитывая диаграмму, подобную приведенной выше, lists имеет две ссылки, одну на свои узлы, другую на другой список. Некоторым объектам может потребоваться более одного поля ссылки.

В вашем случае нарисуйте диаграмму. Попробуйте вставить новый элемент. Запишите шаги, которые вы делаете (и рисуете).

Если вы предоставите больше деталей в своем вопросе, больше людей помогут.

Пример списка с узлами, содержащими много списков, см. В структуре данных BTree . Каждый узел содержит массив ссылок на другие «поддеревья».

...