所以我有
struct node {
int number;
struct node *next;
struct deck{
int number;
struct deck *next;
};
};
我想创建一个二维链表。我该如何初始化这样的东西?
谢谢。
最佳答案
也许是这样的?
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;
}
关于C 二维链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852838/