C 插入函数

C 插入函数,c,insert,C,Insert,我有一个必须解决的家庭作业问题:编写一个插入函数,将元素插入列表中存储特定数据项的元素之后的第一个位置。我还必须使用这个函数。我不明白问题在问什么。有人能用更容易理解的术语向我解释这个问题吗 #include "list.h" LINK lookup(DATA c, LINK head) { if (head == NULL) return NULL; else if ( c == head -> d) return head; else

我有一个必须解决的家庭作业问题:编写一个插入函数,将元素插入列表中存储特定数据项的元素之后的第一个位置。我还必须使用这个函数。我不明白问题在问什么。有人能用更容易理解的术语向我解释这个问题吗

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

问题是要求您编写一个函数,在列表中查找指定项,然后在此位置后将新项插入列表中

因此,鉴于清单

List = {Item1, Item2, Item3, Item4}
您的函数
列表。插入(Item2,Item5)
(例如)应导致

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

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


您的任务是在列表的
链接
数据
结构的开头搜索列表,直到找到第一个
链接
,该链接的
数据与给定的数据相同。然后,在要求查找
数据c的
链接之前将新元素插入列表中
在链表中(函数
查找()
将为您完成此操作),然后在
c
c
之后的
DATA
项之间插入
DATA
项。如果
c
是列表中最后一个
DATA
项,则您需要添加新的
DATA
项作为最终的
DATA
项。如果列表为空,即如果
lookup()
返回
NULL
,则新的
数据
项应存储为列表中唯一的
数据

为什么不发布
list.h
的相关部分,以便我们了解链表的外观


发布整个
lookup()
函数也是一个好主意。

lookup()
函数中唯一缺少的是结束“
}
”。