//任务:AB中元素递增排列,找到交集并存放在A中
//算法思想:采用归并思想,一次比较,如果相等,将B中释放,B<A,删除B所在结点,指针后移
//如果A没遍历完删除A,B没遍历完删除B
void Merge_same(LinkList& A, LinkList& B)
{
LNode* ra = A->next, * rb = B->next,*preA=A,*u;
while (ra&&rb)
{
if (ra->data == rb->data)
{
preA ->next= ra;
preA = ra;
ra = ra->next;
u = rb;
rb = rb->next;
free(u);
}
else if(ra->data < rb->data)
{
u = ra;
ra = ra->next;
free(u);
}
else
{
u = rb;
rb = rb->next;
free(u);
}
}
while (ra)
{
//preA = ra->next;
u = ra;
ra = ra->next;
free(u);
}
while (rb)
{
u = rb;
rb = rb->next;
free(u);
}
preA->next = NULL;
free(B);
}