数据结构将两个线性表合并成一个线性表的代码完整版
时间: 2024-10-10 18:08:56 浏览: 34
线性表的顺序存储结构
数据结构中将两个线性表合并成一个新的线性表通常涉及链表的操作,这里以Python为例,假设我们有两个单向链表A和B,我们可以创建一个新的链表来存储它们的内容:
```python
# 定义链表节点类
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 合并两个有序链表函数
def merge_sorted_lists(l1, l2):
# 创建新头节点
if not l1:
return l2
elif not l2:
return l1
# 如果l1的值小于l2的值,将l1链接到新链表
if l1.val < l2.val:
l1.next = merge_sorted_lists(l1.next, l2)
return l1
else:
l2.next = merge_sorted_lists(l1, l2.next)
return l2
# 示例
# 假设 l1 和 l2 分别是 [1, 4, 5] 和 [1, 3, 6]
l1 = ListNode(1, ListNode(4, ListNode(5)))
l2 = ListNode(1, ListNode(3, ListNode(6)))
merged_list = merge_sorted_lists(l1, l2)
# 遍历打印合并后的链表
current = merged_list
while current:
print(current.val, end=" -> ")
current = current.next
```
这段代码会输出:`1 -> 1 -> 3 -> 4 -> 5 -> 6 -> `。
阅读全文