PAT---两个有序序列的合并

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

PAT—两个有序序列的合并

题目

wangxining_2021-05-28_12-24-31

wangxining_2021-05-28_12-24-42

思路

首先是应该注意审题,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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值