有顺序表A和B,其元素均按从小到大升序排列,写一个程序将他们合并成一个顺序表C,也按从小到大的顺序排列
时间: 2024-09-18 16:12:52 浏览: 36
数据库课程设计代码 实现将一个单链升序和一个单链降序合并为单链升序的算法
你可以使用双指针法来合并两个已排序的顺序表 A 和 B 到一个新的有序列表 C。以下是 Python 代码的一个示例:
```python
def merge_sorted_lists(list_a, list_b):
# 创建一个空的结果列表 C
result = []
# 定义两个指针,分别指向 A 和 B 的开始
i = 0
j = 0
# 当两个列表都还有元素时
while i < len(list_a) and j < len(list_b):
# 如果 A 的当前元素小于或等于 B 的当前元素
if list_a[i] <= list_b[j]:
# 将 A 的元素添加到结果并移动指针
result.append(list_a[i])
i += 1
else:
# 否则,将 B 的元素添加到结果并移动指针
result.append(list_b[j])
j += 1
# 将剩余的列表(如果有的话)添加到结果中
result.extend(list_a[i:])
result.extend(list_b[j:])
return result
# 假设你有两个列表 A 和 B
A = [1, 3, 5]
B = [2, 4, 6]
# 合并两个列表
C = merge_sorted_lists(A, B)
print(C) # 输出: [1, 2, 3, 4, 5, 6]
阅读全文