单链表的合并(递归-非递归)以及将单链表逆序 单链表是数据结构中的一种基本结构,它是一种顺序存储的链式结构。单链表的合并是指将两个或多个单链表合并成一个单链表,而保持原来的顺序。单链表的逆序是指将单链表的 顺序反转。 单链表的合并(非递归) 单链表的合并可以使用非递归方式实现,利用一个辅助指针来存储当前节点的前一个节点,然后将当前节点插入到合并后的链表中。具体实现步骤如下: 1. 设定两个单链表 head1 和 head2,其中 head1 和 head2 是有序升序排列的。 2. 创建一个新的单链表 head,用于存储合并后的链表。 3. 对 head1 和 head2 进行比较,如果 head1 中的节点小于 head2 中的节点,则将 head1 中的节点插入到 head 中。 4. 将 head1 中的节点插入到 head 中,直到 head1 中的节点全部插入到 head 中。 5. 返回合并后的链表 head。 单链表的合并(递归) 单链表的合并也可以使用递归方式实现,通过递归调用函数来合并两个单链表。具体实现步骤如下: 1. 设定两个单链表 head1 和 head2,其中 head1 和 head2 是有序升序排列的。 2. 创建一个新的单链表 head,用于存储合并后的链表。 3. 如果 head1 中的节点小于 head2 中的节点,则将 head1 中的节点作为合并后的链表的头节点。 4. 递归调用函数,合并 head1 和 head2 中剩余的节点。 5. 返回合并后的链表 head。 判断单链表是否有环 判断单链表是否有环可以使用 Floyd 的环检测算法,具体实现步骤如下: 1. 设定两个指针 p1 和 p2,分别指向链表的头节点。 2. 对链表进行遍历,p1 向前走一步,p2 向前走两步。 3. 如果 p2 碰到 NULL 指针或者两个指针相等,则说明链表有环。 4. 如果链表有环,则 p1 将指向环的开始节点。 将单链表逆序 将单链表逆序可以使用一个辅助指针来存储遍历过程中当前指针指向下一个元素,然后将当前元素的指针反转。具体实现步骤如下: 1. 设定一个辅助指针 p,用于存储当前节点的前一个节点。 2. 对链表进行遍历,p 指向当前节点的下一个节点。 3. 将当前节点的指针反转,指向前一个节点。 4. 将 p 指向当前节点的下一个节点。 5. 重复步骤 2-4,直到链表的所有节点都被逆序。
- xiaomi_whua2015-05-04还可以 能看懂
- 王毅扬2014-07-01还可以吧,感谢
- 粉丝: 298
- 资源: 47
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助