- 1
- 0
- 约 10页
- 2016-12-25 发布于河南
- 举报
ListNode *pa , *pb , *qa , *qb ;
pa=A;
pb=B ;
qa=A-next;
qb=B-next;
while ( qa qb)
{
if ( qb-data qa-data )
{
// 当B中的元素小于A中当前元素时,插入到它的前面
pb=qb;
qb=qb-next ;// 指向B中下一元素
pa-next=pb;
pb-next=qa;
pa=pb;
}
else if ( qb-data = pa-data qb-data = qa-data)
{
// 当B中元素大于等于A中当前元素
// 且小于等于A中后一元素时,
// 将此元素插入到A的当前元素之后
pa=qa;
qa=qa-next; // 保存A的后一元素位置
pb=qb;
qb=qb-next; // 保存B的后一元素位置
pa-next=pb; //插入元素
pb-next=qa;
}
else
{
// 如果B中元素总是更大,指针移向下一个A元素
pa=qa;
qa=qa-next;
}
}
if ( qb )// 如果A表已到终端而B表还有结点未插入
{
// 将B表接到A表后面
pa-next=qb;
}
LinkList C=ReverseList ( A );// 调用前面2.
原创力文档

文档评论(0)