/*-------------------------------------
函数说明:合并两个线性链表
日期: 2006.11.5
作者: DarrylFu
----------------------------------------*/
void SqUnion(SqList &La,SqList Lb)
{
int e,La_len = ListLength(La),Lb_len=ListLength(Lb);
for(int i=0;i<Lb_len;i++)
{
GetElem(Lb,i,e);
if(LocateElem(La,e,compare)==-1) ListInsert(La,La_len++,e);
}
}
/*-------------------------------------
函数说明:测试合并两个线性链表函数
日期: 2006.11.5
作者: DarrylFu
----------------------------------------*/
void SqUnionTest()
{
SqList La,Lb;
if(!InitList(La)||!InitList(Lb)) exit(-1);
int a,e,i=0;
do
{
scanf("%d %d",&a,&e);
ListInsert(La,i,a);
ListInsert(Lb,i,e);
i++;
}
while(i<3);
printf("La:/n");
ListTraverse(La,visit);
printf("Lb:/n");
ListTraverse(Lb,visit);
SqUnion(La,Lb);
printf("After SqUnion La:/n");
ListTraverse(La,visit);
}