2011-05-04 149 views
0

我有一个家庭作业问题,我必须:写一个插入函数,它在存储特定数据项的元素后面的列表的第一个位置插入一个元素。我也必须使用这个功能。我不明白问题在问什么。有人能以更容易理解的方式向我解释这个问题吗?插入函数

#include "list.h" 

LINK lookup(DATA c, LINK head) 
{ 

if (head == NULL) 
    return NULL; 
else if (c == head -> d) 
     return head; 
    else 
     return (lookup(c, head -> next)); 
} 

回答

0

问题是要求您编写一个函数,该函数在列表中找到指定的项目,然后在此位置后面的列表中插入新项目。

所以给出的列表

List = {Item1, Item2, Item3, Item4} 

你的功能List.Insert(Item2, Item5)(例如)应导致

List = {Item1, Item2, Item5, Item3, Item4} 
0

你有一个链表。该列表由LINK结构(更精确地说,它出现在LINK类型typedef定义为一个指向实际节点结构。我们没有在我们面前的定义,但想必每个LINK结构持有一个DATA结构以及常用的链接指针(一个或多个)。

你的任务是采取头的最名单LINKDATA结构中,并通过搜索列表,直到找到具有第一LINKDATA等同于你给出的一个。然后,只是LINK之前插入新元素到列表中。

0

你被要求找到链表(功能lookup()会为你做的)DATA c,然后插入以下ccDATA项之间的DATA项目。如果c是在列表中的最后DATA项目,那么你对你的新DATA项目添加作为最终DATA项目。如果该列表是空的,也就是说,如果lookup()回报NULL,那么你的新DATA项目应当将被存储为唯一DATA列表中的项目。

为什么不张贴list.h相关的,因此,我们可以理解链表是什么样子?

这也将是后期整个lookup()功能是个好主意。

+0

''lookup()'函数中缺少的唯一东西是关闭''}''。 – 2011-05-04 08:39:36