c语言数据结构,新手入门。求大神解释每一行的意思。
答案:1 悬赏:40 手机版
解决时间 2021-04-06 22:33
- 提问者网友:箛茗
- 2021-04-06 03:55
c语言数据结构,新手入门。求大神解释每一行的意思。
最佳答案
- 五星知识达人网友:从此江山别
- 2021-04-06 04:40
void MergeList_L(LinkList &ha, LinkList &hb, LinkList &hc)//合并链表函数,将短链表放到长链表后面
{
LinkList pa, pb;//声明两个链表类型指针
pa = ha;//将ha赋值给pa
pb = hb;//将hb赋值给pb
while (pa->next&&pb->next){//循环,当pa仍有下一个节点,并且pb仍有下一个节点
pa = pa->next;//pa后移一个节点
pb = pb->next;//pb后移一个节点
}
if (!pa->next){//如果pa已经到达末尾
hc = hb;//将hb当前所指向的位置赋值给hc,即头节点
while (pb->next) pb = pb->next;//当pb仍有下一个节点,就后移,直到该链表末尾
pb->next = ha->next;//将ha的下一个节点开始的链表插入到pb的后面
}
else{//如果pa没有到达末尾节点
hc = ha;//将ha赋值给hc,即头节点
while (pa->next) pa = pa->next;//当pa仍有下一个节点,就后移,直到该链表末尾
pa->next = hb->next;//将hb的下一个节点开始的链表插入到pa的后面
}
}算法的时间复杂度为max(m, n)
{
LinkList pa, pb;//声明两个链表类型指针
pa = ha;//将ha赋值给pa
pb = hb;//将hb赋值给pb
while (pa->next&&pb->next){//循环,当pa仍有下一个节点,并且pb仍有下一个节点
pa = pa->next;//pa后移一个节点
pb = pb->next;//pb后移一个节点
}
if (!pa->next){//如果pa已经到达末尾
hc = hb;//将hb当前所指向的位置赋值给hc,即头节点
while (pb->next) pb = pb->next;//当pb仍有下一个节点,就后移,直到该链表末尾
pb->next = ha->next;//将ha的下一个节点开始的链表插入到pb的后面
}
else{//如果pa没有到达末尾节点
hc = ha;//将ha赋值给hc,即头节点
while (pa->next) pa = pa->next;//当pa仍有下一个节点,就后移,直到该链表末尾
pa->next = hb->next;//将hb的下一个节点开始的链表插入到pa的后面
}
}算法的时间复杂度为max(m, n)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯