插入功能

时间:2011-05-04 02:16:03

标签: c insert

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

#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));
}

3 个答案:

答案 0 :(得分:0)

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

所以给出了列表

List = {Item1, Item2, Item3, Item4}

您的函数List.Insert(Item2, Item5)(例如)应该导致

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

答案 1 :(得分:0)

你有一个链表。该列表由LINK结构组成(更准确地说,LINK类型的类型是typedef'd指向实际节点结构的指针。我们没有在前面的定义我们,但可能每个LINK结构都包含一个DATA结构以及通常的链接指针。

您的任务是获取列表头LINKDATA结构并搜索列表,直到找到第一个LINK DATA与你给的那个相同。然后,将新元素插入到LINK之前的列表中。

答案 2 :(得分:0)

要求您在链接列表中找到DATA c(函数lookup( )将为您执行此操作),然后在DATAc之间插入DATA项{1}}之后的{1}}项如果c是列表中的最后一个c项,那么您要将新的DATA项添加为最终DATA项。如果列表为空,即如果DATA返回lookup( ),那么您的新NULL项应存储为列表中唯一的DATA项。

为什么不发布DATA的相关部分,以便我们了解链接列表的外观?

发布整个list.h函数也是一个好主意。