【发布时间】:2015-09-24 16:20:06
【问题描述】:
这是我目前所拥有的!我很困惑,因为我不知道在哪里添加它们。我们在课堂上研究节点已经有一段时间了,但我的教授即使你问问题也不喜欢解释。这是我们的家庭作业。所以我想知道如何创建一个将节点添加到链接列表的函数?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Node
{
double nodeData;
int nodeLink;
};
void main(void)
{
struct Node List[15];
int Begin, current;
Begin = 0;
for (current = Begin; current < 15; current++)
List[current].nodeLink = 0;
List[0].nodeData = 3.141593;
List[0].nodeLink = -1;
List[1].nodeData = 25.992;
List[1].nodeLink = -1;
List[0].nodeLink = 1;
for (int i = Begin; i != -1; i = List[i].nodeLink)
printf("%f\n", List[i].nodeData);
}
【问题讨论】:
-
为什么你的
nodeLink是int?它应该引用下一个Node -
不管你的教授是好是坏,做链表作业的正确方法是先把它画在纸上,说明每个操作是如何完成的。绘制方框、线条等。不要尝试“从头开始”编写程序。一旦您在纸上看到它是如何完成的,那么将其转换为代码或多或少是容易的部分。
-
我们的教授说nodeLink应该是一个int。
-
当您使用调试器时,是哪一行导致了问题?
-
@Michael:作业是用数组实现链表。因此,链接字段是包含下一个节点的数组槽的索引。
标签: c linked-list nodes