编制一个能演示将两个有序表合并为一个有序表的程序
时间: 2024-09-19 19:15:30 浏览: 48
在编程中,合并两个有序表通常是一个经典的算法问题,可以使用递归或迭代的方式来解决。这里我会给你一个简单的Python示例,使用双指针法,它是一种常用的排序数组合并的方法:
```python
def merge_sorted_lists(list1, list2):
# 初始化空的结果列表
merged_list = []
# 定义两个指针,分别指向两个输入列表的开始
i, j = 0, 0
# 当任一列表未遍历完时
while i < len(list1) and j < len(list2):
# 如果list1的元素小于或等于list2的当前元素,则添加到结果并移动list1指针
if list1[i] <= list2[j]:
merged_list.append(list1[i])
i += 1
# 否则,添加list2的元素并移动其指针
else:
merged_list.append(list2[j])
j += 1
# 将剩余未处理的部分(如果有的话)追加到结果列表
merged_list.extend(list1[i:])
merged_list.extend(list2[j:])
return merged_list
# 示例两个已排序的列表
list1 = [1, 3, 5]
list2 = [2, 4, 6]
# 调用函数合并两个列表
merged = merge_sorted_lists(list1, list2)
print("合并后的有序列表:", merged)
阅读全文