请问以下C语言程序实验如何解决?

来源:百度知道 编辑:UC知道 时间:2024/09/28 06:42:39
本人刚学C没多久,对以下的C语言程序实验可以说是毫无头绪,请大虾帮忙入门!!!(补充完整+修改错误,最后能在C语言环境下编译通过)

1. 试编写在无头结点的单链表上实现线性表基本运算LOCATE(L,X),INSERT(L,X,1)和DELETE(L,1)的算法。
2. 假设有两个按数据元素值递增有序排列的线性表A和B,均以单链表作为存储结构。编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(即A表和B表)结点空间存放表C。

五、实验提示
1. 参考算法
查找算法如下:
void locate(lklist L, int x)
{ p=head;
while (p->next != NULL)
{if (p->data = = x)
return p;
else
p=p->next;
}
if(p->data != x)
error(“无此结点”)
}

插入算法如下:
void insert(lklist L, int x, int i)
{ p = head;
q=malloc(sizeof());
q->data=x;
if(i<0)
error(“无此位置”)
j=0;
if(i= 1)
{ q->next=head;
head=q;
}
while(j<i-1)&&(p->next !=NULL)
j++;
if(i= = i-1)
{ q->next=p->next;
p->next=q;
}
else error(“i位置超出范围”);
}

删除算法如下:
void delete(lklist L, int

先睡一觉,起来的时候没人回答,再帮你写写~ o(∩_∩)o...

有空再帮你做

你应该去看看c语言描述的数据结构!
上面的链表讲的很详细!

先搜搜 找不到再发帖子