一个链表求并集的问题,想了很久没结果,请教下大家怎么修改好?函数返回值的问题
我定义了一个求并集的c链表函数,不知道怎么返回值?谁给个建议1 分钟前孤岛魂狼 | 分类:数据结构及算法 | 浏览1次
#include<stdio.h>
#include<malloc.h>
#define maxsize 50
typedef int ElemType;
typedef struct {
ElemType node[maxsize];
int length;
}list;
void creat(list *L)
{
L=(list *)malloc(sizeof(list));
L->length=0;
}
int length(list *L)
{
int i=0;
int len;
while(L->node[i])
{
i++;
len++;
}
return len;
} //////////////////一些基本的定义
int bingji(list *L1,list *L2,list *L3)
{
int i,j,k=0;
int len1,len2;
len1=length(L1);
len2=length(L2);
L3=(list*)malloc(sizeof(list));
for(i=0;i<len1;i++)
L3->node[k++]=L1->node[i++];
for(i=0;i<len1;i++)
{
j=0;
while(j<len2 && L1->node[j]!=L2->node[i])
j++;
if(j==len1)
L3->node[k++]=L2->node[i++];
}
L3->length=k;
return L3;
}///////////////这一段为并集的函数下面是调用它的主函数
int main()
{
list *L1=NULL;
list *L2=NULL;
list *L3=NULL;
list *H=NULL;
int i;
creat(L1);
creat(L2);
creat(L3);
H=bingji(L1,L2,L3);
i=0;
while(H!=NULL)
{
printf("%d",H->node[i]);
i++;
}
return 0;
}
不过我调用并集函数的时候,返回值不匹配,怎么设置链表变量好,
还有函数返回值怎么改?