算法思想:设置两个指针分别指向A和B,依次遍历A和B,如果A中元素小于B中元素,则指向A链表的指针后移,如果指向B链表的元素小于A链表元素,则B链表指针后移,如果相等则创建一个新结点保存所指元素值,并插入C中。
void Creatsame(LinkList A,LinkList B){
LNode *p=A->next,*q=B->next;
LinkList C=(LinkList)malloc(sizeof(LNode));//建立一个新链表
LNode *r=C;
while(p!=NULL&&q!=NUUL){
if(p->data<q-data)//如果p所指元素小于A
p=p->next;//p指针后移
else if(q->data<p->data)//如果p所指元素大于A
q=q->next;//q指针后移
else(p->data==q->data)//如果相等
s=(LNode*)malloc(sizeof(LNode));//申请一个新结点
s->data=p->data;//保存相等数据
s=r->next;//尾插法插入新链表
r=s;
r->next=NULL;//尾指针置空
}
}