线性表LA=(3,5,8,11),LB=(2,6,8,9,11,15,20),LA和LB代表两个集合A.B,

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:59:36
设有线性表LA=(3,5,8,11)和LB=(2,6,8,9,11,15,20),若LA和LB分别代表两个集合A.B,
求新集合A=A和B的并集,相同元素不保留?

心急如焚,恳请各位高手给予解决,非常感谢!!

依次用LB中的值和LA中的所有值比较,都不相等就加入到LA中。

相同元素不保留!

void MergeList(int *A,int *B,List *c)
{
int i=j=0;
int k = 0;
int aLen,bLen;

aLen = sizeof(A);
bLen = sizeof(B);

while((i<=aLen)&&(j<=bLen))
{
if(A[i] < B[j])
{C[k] = A[i]; i++;k++;}
else if(A[i] = B[j])
{
C[k] = A[i]; i++;k++;j++;
}
else
{C[k] =B[j];j++;k++;}
}

while( i<=aLen)
{
c[k] = a[i];
k++;
i++;
}
while(j<=bLen)
{
c[k] = b[j];
k++;
j++;
}
}

int main(void)
{
MergeList(a,b,c);
}

尊重别人劳动,不要复制粘贴

LA,LB是有序线性表的话,将LB中的值依次插入LA不就行了,有相同的就不加.

2,3,5,6,8,9,11,15,20
自己找原因吧