PAT—两个有序序列的合并
题目


思路
首先是应该注意审题,L1,L2都是带头结点的单链表,也就是说L1->Next才是这个链表的数据存储的地方,再一点就是这种链表都是要有头尾的,L一开始在头,最后返回的也就是L,r是移动加入链表的地方;L1,L2也不要去移动,让p和q去移动。L为什么要malloc,因为L的next要赋值,而且还要赋给r所以要给malloc,因为你不malloc,系统申请变量得到的空间就是指针的那个地址的空间,所以不能用Next。而p,q,r呢全都是赋值已经有的空间,所以不需malloc,当然你要是想malloc,也是可以的。这个题目中是需要头结点的返回,所以我们在最后返回L即可,而不需要把L向后移动,并且释放头结点的空间的操作了。
代码
List Merge( List L1, List L2 ){
List L

这篇博客介绍了如何高效地合并两个已排序的单链表,通过创建新的头结点并比较链表中元素的大小,将较小的元素依次插入到新链表的末尾,最终形成一个有序的链表。文章强调了处理链表头结点的重要性以及避免不必要的内存分配。
最低0.47元/天 解锁文章
4110

被折叠的 条评论
为什么被折叠?



