话不多说,直接开正:
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))
ListInesert(&La,++La_len,e);
}
}
时间复杂度:O(ListLength(La)*ListLength(Lb))
其中ListLength()为获取线性表长度的函数;函数GetElem()能够获取线性表中的第i个元素,并将其赋值给e;LocateElem()是判断线性表La中是否有e;ListInsert()是将e插入到线性表La中。