C 2D связанный список - PullRequest
       2

C 2D связанный список

1 голос
/ 04 октября 2010

Итак, у меня есть

struct node {
   int number;
   struct node *next;

 struct deck{
    int number;
    struct deck *next;
 };
};

Я хочу создать двухмерный связанный список. Как я могу инициализировать что-то вроде этого?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 04 октября 2010

Что-то вроде этого может быть?

struct deck{
    int number;
    struct deck *next;
}
struct node {
   int number;
   struct node *next;
   struct deck *decks;
};

struct node *current_node, *new_node;
struct deck *current_deck, *new_deck;

current_node = (struct node *) malloc (sizeof(struct node));

for (i=0; i<number_of_nodes-1;i++) {
    current_deck = (struct deck* ) malloc (sizeof(struct deck));
    current_node->decks = current_deck;
    for (j=0; j<number_of_decks_in_node_i-1; j++) {
        new_deck = (struct deck* ) malloc (sizeof(struct deck));
        current_deck->next = new_deck;
        current_deck = new_deck;
    }
    new_node = (struct node *) malloc (sizeof(struct node));
    current_node->next = new_node;
    current_node = new_node;
}
2 голосов
/ 04 октября 2010

Прежде всего, вам нужно взять колоду снаружи узла . То, что у вас есть, действительно C ++, но не C.

Вы могли бы написать что-то вроде этого:

struct node {
   int number;
   struct node *next;
};


struct deck{
   struct node* nodes;
   struct deck* next;
};
1 голос
/ 05 декабря 2011

используя декартову систему, вы можете. (Кстати, у меня это пока не работает. Пытаюсь)

struct node(){
    char data[10];
    node *x_link;
    node *y_link;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...