没有合适的资源?快使用搜索试试~ 我知道了~
因为两链表已按元素值递增次序排列,将其合并时,均从第一个结点起进行比较,将小的链入链表中,同时后移链表工作指针。该问题要求结果链表按元素值递减次序排列。故在合并的同时,将链表结点逆置。
资源推荐
资源详情
资源评论
1.[题目分析]因为两链表已按元素值递增次序排列,将其合并时,均从
第一个结点起进行比较,将小的链入链表中,同时后移链表工作指针。该问
题要求结果链表按元素值递减次序排列。故在合并的同时,将链表结点逆置。
LinkedList Union(LinkedList la,lb)
∥la,lb 分别是带头结点的两个单链表的头指针,链表中的元素值按递增序
排列,本算法将两链表合并成一个按元素值递减次序排列的单链表。
{ pa=la->next; pb=lb->next;∥pa,pb 分别是链表 la 和 lb 的
工作指针
la->next=null; ∥la 作结果链表的头指针,先将结果链表初
始化为空。
while(pa!=null && pb!=null) ∥当两链表均不为空时作
if(pa->data<=pb->data)
{ r=pa->next; ∥将 pa 的后继结点暂存于 r。
pa->next=la->next; ∥将 pa 结点链于结果表中,同时逆
置。
la->next=pa;
pa=r; ∥恢复 pa 为当前待比较结点。
}
else
{r=pb->next;∥ 将 pb 的后继结点暂存于 r。
pb->next=la->next; ∥将 pb 结点链于结果表中,同时逆置。
la->next=pb;
pb=r; ∥恢复 pb 为当前待比较结点。
}
while(pa!=null) ∥将 la 表的剩余部分链入结果表,并逆置。
资源评论
- 嗨你我他2014-07-17分析的还是不错的, 还有对我有帮助的。
guoaoling
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功