单链表合并问题(直接交叉合并)
单链表合并源程序代码如下:就是使两条单链表交叉合并
函数MergeList(List La,List Lb)好像有点问题啊,大虾们帮忙调试 一下下啊!!!!!
#include"iostream.h"
typedef struct LNode
{
int data;
LNode *next;
}*List;
List CreateList()
{
List h,L,s;L=new LNode;
L->next=NULL;
h=L;
for(int i=0;i<3;i++)//单链表长度为3
{
s=new LNode;
cin>>s->data;
s->next=h->next;
h->next=s;
h=s;
}
return L;
}
void PrintList(List L)
{
if(L)
{
L=L->next;
while(L)
{ cout<<L->data;
L=L->next;
}
}
}
void MergeList(List La,List Lb)//单链表合并
{
La=La->next;Lb=Lb->next;
List s;
while(La&&Lb)
{
s=Lb;
s->next=La->next;
La->next=s;
Lb=Lb->next;La=La->next;
cout<<"AAAA/n";
}
PrintList(La);
}
void main()
{ List La,Lb;
La=CreateList();Lb=CreateList();//单链表长度为3
MergeList(La,Lb);//合并
PrintList(La); PrintList(Lb);//打印单链表
}