运用数据结构写一段代码有顺序表A和B,其元素均按从小到大的升序排列,编写一个算法,将它们合并成一个顺序表C,要求C的元素也按从小到大的升序排列。
时间: 2024-09-17 21:04:33 浏览: 57
你可以使用双指针的方法来合并两个有序列表A和B。以下是使用Python语言的一个简单示例:
```python
def merge_sorted_lists(A, B):
# 初始化空列表C作为结果
C = []
# 指向A和B的当前元素位置
i = 0
j = 0
# 遍历两个列表,直到其中一个遍历完
while i < len(A) and j < len(B):
# 如果A的当前元素小于B的当前元素,添加A的元素到C并移动A指针
if A[i] <= B[j]:
C.append(A[i])
i += 1
# 否则,添加B的元素到C并移动B指针
else:
C.append(B[j])
j += 1
# 将剩余未添加到C的元素追加至C
C.extend(A[i:])
C.extend(B[j:])
return C
# 示例
A = [1, 3, 5]
B = [2, 4, 6]
C = merge_sorted_lists(A, B)
print(C) # 输出: [1, 2, 3, 4, 5, 6]
```
在这个例子中,我们创建了一个新的列表C,并通过比较A和B的当前元素来确定下一个放入C的值。当一个列表遍历完毕,我们就直接将另一个列表剩余的部分添加到C。
阅读全文