C 二维链表

标签 c linked-list

所以我有

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/

相关文章:

c - 链表不打印

c - 在旧 C 中使用前声明变量

c - 递归反向链表

c - , 运算符的元数是多少?

c - 无法第二次重新分配信号处理程序

c - 初始化链接列表与数组所需的时间

java - 链表,向后递归

c - linux上实现链表的C程序从文件读取数据出错

c - 使用 pthread 进行矩阵乘法

C输出题