Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 二维链表_C_Linked List - Fatal编程技术网

C 二维链表

C 二维链表,c,linked-list,C,Linked List,所以我有 struct node { int number; struct node *next; struct deck{ int number; struct deck *next; }; }; 我想创建一个二维链表。我如何初始化这样的东西 谢谢。首先,你需要在节点外搭甲板。你所拥有的是有效的C++,而不是C.< 你可以这样写: struct node { int number; struct node *next; }; struct d

所以我有

struct node {
   int number;
   struct node *next;

 struct deck{
    int number;
    struct deck *next;
 };
};
我想创建一个二维链表。我如何初始化这样的东西


谢谢。

首先,你需要在节点外搭甲板。你所拥有的是有效的C++,而不是C.< 你可以这样写:

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


struct deck{
   struct node* nodes;
   struct deck* next;
};

首先,您需要在节点外部使用deck。你所拥有的是有效的C++,而不是C.< 你可以这样写:

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


struct deck{
   struct node* nodes;
   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;
}
struct-deck{
整数;
结构甲板*next;
}
结构节点{
整数;
结构节点*下一步;
结构甲板*甲板;
};
结构节点*当前节点,*新节点;
结构甲板*当前甲板,*新甲板;
当前_节点=(结构节点*)malloc(sizeof(结构节点));
对于(i=0;idecks=当前甲板;
对于(j=0;jnext=新甲板;
当前甲板=新甲板;
}
新节点=(结构节点*)malloc(sizeof(结构节点));
当前\u节点->下一步=新\u节点;
当前_节点=新_节点;
}

可能是这样的吧

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;
}
struct-deck{
整数;
结构甲板*next;
}
结构节点{
整数;
结构节点*下一步;
结构甲板*甲板;
};
结构节点*当前节点,*新节点;
结构甲板*当前甲板,*新甲板;
当前_节点=(结构节点*)malloc(sizeof(结构节点));
对于(i=0;idecks=当前甲板;
对于(j=0;jnext=新甲板;
当前甲板=新甲板;
}
新节点=(结构节点*)malloc(sizeof(结构节点));
当前\u节点->下一步=新\u节点;
当前_节点=新_节点;
}

使用笛卡尔坐标系,您可以。(顺便说一句,它还不适合我。正在尝试)


使用笛卡尔坐标系,你可以。(顺便说一句,它还没有为我工作。尝试)


那么,你想制作一个链表的链接列表吗?比如列表?deck结构是什么?请详细说明你的问题。是的,一个带有链表的链表。deck只是节点的名称。它是指一副牌。你想知道如何添加或删除节点吗?如果不想,为什么要使用链表而不是2d数组?那么,你想知道吗o制作一个链表的链接列表?如列表?deck结构是什么?请详细说明您的问题。是的,带有链表的链表。deck只是节点的名称。它是指一副牌。您想知道如何添加或删除节点吗?如果不想,为什么要使用链表而不是2d数组?我认为您缺少一个se结构节点{…}后的分号原始代码是“几乎有效”C。只需命名“内部子结构”…我认为在结构节点{…}后缺少分号原始代码是“几乎有效”C。只需命名“内部子结构”。。。