其中较小者重新链接在Lc表的表头结点之后,如果两个表中的元素相等,只摘取La表中的元素,保留Lb表中的元素。当一个表到达表尾结点,为空时,将非空表的剩余元素依次摘取,链接在Lc表的表头结点之后。Р[算法描述]Рvoid MergeList(LinkList& La, LinkList& Lb, LinkList& Lc, ) Р{//合并链表La和Lb,合并后的新表使用头指针Lc指向Р pa=La->next; pb=Lb->next; Р//pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点Р Lc=pc=La; //用La的头结点作为Lc的头结点Р Lc->next=NULL;Р while(pa||pb )Р{//只要存在一个非空表,用q指向待摘取的元素Р if(!pa) {q=pb; pb=pb->next;}Р//La表为空,用q指向pb,pb指针后移Р else if(!pb) {q=pa; pa=pa->next;} Р//Lb表为空,用q指向pa,pa指针后移Р else if(pa->data<=pb->data) {q=pa; pa=pa->next;}Р//取较小者(包括相等)La中的元素,用q指向pa,pa指针后移Р else {q=pb; pb=pb->next;}Р//取较小者Lb中的元素,用q指向pb,pb指针后移Р q->next = Lc->next; Lc->next = q; Р//将q指向的结点插在Lc 表的表头结点之后Р }Р delete Lb; //释放Lb的头结点Р} Р(3)已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出A与B的交集,并存放于A链表中。Р[题目分析]