问题描述】 编制一个能演示将两个有序表合并为一个有序表的程序。 【基本要求】 已知递增有序线性表LA和LB
时间: 2024-09-24 15:09:21 浏览: 57
数据结构实验报告1-线性表-两个有序表的归并-实验内容及要求.docx
【问题描述】
编写一个程序,用于合并两个已经排序的递增顺序线性表LA和LB,形成一个新的递增有序列表LC。这个过程通常需要遍历两个输入列表,每次从每个表中选择较小的元素添加到结果列表中,直到其中一个列表的所有元素都被添加完毕,然后将另一个列表剩余的部分直接添加到结果列表的末尾。
以下是Python的一个简单示例:
```python
def merge_sorted_lists(LA, LB):
LC = [] # 初始化空的结果列表
i = j = 0 # LA和LB的指针初始值为0
while i < len(LA) and j < len(LB): # 当LA和LB都不为空时
if LA[i] <= LB[j]: # 如果LA当前元素小或相等
LC.append(LA[i]) # 添加到LC并移动LA指针
i += 1
else: # 如果LB当前元素小
LC.append(LB[j])
j += 1
# 将剩余未处理的列表元素添加到LC
LC.extend(LA[i:]) if i < len(LA) else LC.extend(LB[j:])
return LC
# 示例:
LA = [1, 3, 5]
LB = [2, 4, 6]
merged_list = merge_sorted_lists(LA, LB)
print(merged_list) # 输出:[1, 2, 3, 4, 5, 6]
```
阅读全文