python 读取文本中的数据用归并排序将结果写到新文本
时间: 2024-05-11 11:17:41 浏览: 54
文件中,你能教我具体的代码吗?
当然可以。以下是一段 Python 代码,它可以读取指定的文本文件,将其中的数据使用归并排序进行排序,并将结果写入一个新的文本文件中:
```
def merge_sort(arr):
def merge(left, right):
result = []
i = 0
j = 0
while i < len(left) and j < len(right):
if left[i] < right[j]:
result.append(left[i])
i += 1
else:
result.append(right[j])
j += 1
result += left[i:]
result += right[j:]
return result
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left = arr[:mid]
right = arr[mid:]
left = merge_sort(left)
right = merge_sort(right)
return merge(left, right)
with open('input.txt', 'r') as f:
data = [int(line.strip()) for line in f]
result = merge_sort(data)
with open('output.txt', 'w') as f:
for item in result:
f.write('%d\n' % item)
```
在这段代码中,我们首先定义了一个归并排序的实现,然后使用 Python 的文件操作来读取输入文件,并将数据保存到一个列表中。接着,我们调用归并排序对列表进行排序,最后将结果写入输出文件中。
请注意,这只是一种示例实现,你可以根据你的具体需求来对代码进行修改和优化。