/* la[]={2,3,5,8,9} lb[]={1,3,5,8,10,25} */
/* la la<lb */
/* lc[]= lb la>=lb */
/***********将两个有序链表连接在成一个序链表函数****************/
//参数为表1头结点,表2头结点,新表头结点
linck *UnionLinck(linck *root1, linck *root2, linck *root)
{
linck *ptr1,*ptr2,*ptr;
ptr1 = root1;
ptr2 = root2;
ptr = root;
while(ptr1 != NULL && ptr2 != NULL) //两个链表都不为空时
{
if(ptr1->x > ptr2->x) //小的先在前面
{
root = InitList(root, ptr2->x); //此是建立链表函数
ptr2 = ptr2->next;
}
else
{
root = InitList(root, ptr1->x);
ptr1 = ptr1->next;
}
}
if(NULL == ptr1 && ptr2 != NULL) //有一个表空了,另一个还没空
{
while(ptr2 != NULL)
{
root = InitList(root, ptr2->x);
ptr2 = ptr2->next;
}
}
else if(NULL == ptr2 && ptr1 != NULL)
{
while(ptr1 != NULL)
{
root = InitList(root, ptr1->x);
ptr1=ptr1->next;
}
}
return root;
}