一道简单的链表题。。。。请求大家帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:22:57
题目是:编写一个程序,把两个有序排列的整数链表合并成一个有序排列的整数链表。函数merage以两个指针作为参数,这两个指针分别指向两个待合并链表的头结点,函数返回一个指针,它指向合并后的链表的头结点。

刚学到链表这里,对链表的概念还是很模糊,不能理解,这个作业今晚就要交了,请求大家来帮帮我。
是单链表

#include<stdio.h>
#include<stdlib.h>
struct link
{
int data;
link *next;
};
link * merage(link *p1,link *p2)
{
link *temp;
temp = p1;
for(;p1->next;p1=p1->next)
{
if(p1->data == p2->data)
{
p1->next = p2->next;
break;
}
else if(!p1->next)
{
p1->next = p2;
break;
}

}
return temp;

}
void main()
{

link *plink1,*plink2,*phead1,*phead2,*phead;
plink1=new link;
plink2=new link;
phead1 = plink1;
phead2 = plink2;
int n,m;
printf("请输入第一个链表节点数:");
scanf("%d",&n);
printf("请输入第一个链表数据 每次输入完按回车:\n");
scanf("%d",&(plink1->data));
for (int i=0;i<n-1;i++)
{
plink1->next = new link;
plink1=plink1->next;
scanf("%d",&(plink1->d