我改进的: void List_L(LinkList &ha,LinkList &hb,LinkList &hc) { LinkList pa,pb; pa=ha; pb=hb; while(pa->next&&pb->next){ pa=pa->next; pb=pb->next; } if(!pa->next){ hc=ha; pa->next=hb->next; } else{ hc=hb; pb->next=ha->next; } } 和之前有区别吗?是不是一样的呢
时间: 2024-04-12 19:31:23 浏览: 121
LinkList的实现
您改进的代码与之前的代码是存在一些区别的。具体来说,区别在于以下部分:
修改前:
```cpp
if(!pa->next){
hc=hb;
while(pb->next) pb=pb->next;
pb->next=ha->next;
}
else{
hc=ha;
while(pa->next) pa=pa->next;
pa->next=hb->next;
}
```
修改后:
```cpp
if(!pa->next){
hc=ha;
pa->next=hb->next;
}
else{
hc=hb;
pb->next=ha->next;
}
```
在修改后的代码中,将链表 `hc` 的赋值移到了条件判断的内部。这样做的结果是,在 `if` 条件满足时,不再需要执行 `while` 循环来找到链表 `hb` 的末尾节点,而是直接将 `hb` 的头节点的下一个节点赋给 `pa`,省去了多余的遍历过程。
因此,修改后的代码与之前的代码在逻辑上是等价的,只是对代码的书写进行了一些调整,使其更加简洁。
阅读全文