合并两个单链表为递减有序的单链表
2010-07-27 08:36
309 查看
LinkList *Connect(LinkList *ha,LinkList *hb)
{
LinkList *pa=ha->next,*pb=hb->next,*hc,*tc;
hc=pa;
hc->next=NULL;
tc=hc;
while(pa!=NULL&&pb!=NULL)
{
if(pa->data<pb->data)
{
tc->next=pa;
tc=pa;
pa=pa->next;
}else if(pa->data>pb->data)
{
tc->next=pb;
tc=pb;
pb=pb->next;
}else
{
tc->next=pa;
tc=pa;
pa=pa->next;
tc->next=pb;
tc=pb;
pb=pb->next;
}
}
tc->next=NULL;
if(pa!=NULL)tc->next=pa;
if(pb!=NULL)tc->next=pb;
return hc;
}
{
LinkList *pa=ha->next,*pb=hb->next,*hc,*tc;
hc=pa;
hc->next=NULL;
tc=hc;
while(pa!=NULL&&pb!=NULL)
{
if(pa->data<pb->data)
{
tc->next=pa;
tc=pa;
pa=pa->next;
}else if(pa->data>pb->data)
{
tc->next=pb;
tc=pb;
pb=pb->next;
}else
{
tc->next=pa;
tc=pa;
pa=pa->next;
tc->next=pb;
tc=pb;
pb=pb->next;
}
}
tc->next=NULL;
if(pa!=NULL)tc->next=pa;
if(pb!=NULL)tc->next=pb;
return hc;
}
相关文章推荐
- 非递减合并两个有序单链表
- 写程序。设ha和hb分别是两个带头结点的非递减有序单链表的头指针,试设计算法,将这两个有序链表合并成一个非递增有序的单链表。要求使用原链表空间,
- 数据结构 — 1. 两个非递减有序单链表合并为非递增有序单链表
- 基于单链表的两个非递减有序表的合并
- 合并两个单链表为递减有序的单链表
- [数据结构]单链表 合并两个非递减有序表成新表也是非递减表
- 经典算法之两个有序单链表合并
- LeetCode 21. Merge Two Sorted Lists 合并两个有序单链表 C++
- 两个有序单链表的合并
- 将两个有序单链表合并
- 两个有序单链表合并成一个有序单链表的java实现
- 编程实现两个有序单链表的合并
- 合并两个单链表(单链表元素均按值非递减排列)
- 合并两个有序单链表的递归方法
- 合并两个有序单链表,使得合并后的链表仍然有序
- Java单链表基本操作(八)--合并两个有序单链表
- 两个有序单链表的合并&两个有序数组的合并
- 合并两个有序单链表,合并后依旧有序
- 输入两个数列,分别以某数为结束标志,分别生成递增有序单链表;再将这两个表合并为一个递增有序单链表,输出表中各结点的值
- 合并两个有序单链表(Java)