C语言编程题,利用两个线性表LA和LB分别表示两个集合A和B,现要求一个集合A=A并B

如题所述

利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A∪B。
void union(List &La,List Lb) {
La-len=listlength(La);
Lb-len=listlength(Lb);
for(I=1;I<=lb-len;I++) {
getelem(lb,I,e);
if(!locateelem(la,e,equal))listinsert(la,++la-en,e)
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-20
下面你看看是不是这样的:
main()
{
char a[] = "abcdeg"; //有序的
char b[]="defhijklmn"; //有序额
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!='\0'&&b[j]!='\0')
{
if(a[i]<b[j])c[k++]=a[i++];
else if(a[i]>b[j])c[k++]=b[j++];
else
{
c[k++]=b[j++];i++;
}
}
while(a[i]=='\0'&&b[j]!='\0')
c[k++]=b[j++];
while(a[i]!='\0'&&b[j]=='\0')
c[k++]=a[i++];
c[k]='\0';
puts(c);
}本回答被网友采纳