11. 冒泡排序,提前准备好“冒泡排序测试数据.txt”,编程实现从文件中获取待排序列表,然后将文件中所有测试数据排序后,将最后排序结果保存到“冒泡排序结果.txt”。python
时间: 2024-10-24 12:11:25 浏览: 7
蓝桥杯c++-蓝桥杯竞赛练习之算法提高题冒泡排序法.zip
冒泡排序是一种简单的排序算法,通过反复交换相邻的两个元素,使得较大的元素逐渐浮向数组的顶部。首先,我们可以按照以下步骤编写Python代码来实现这个功能:
1. **打开并读取文件**:
使用`open()`函数打开输入文件,例如`with open('冒泡排序测试数据.txt', 'r')`,并读取所有行作为待排序的列表。
```python
def read_data(file_name):
with open(file_name, 'r') as file:
data = [int(line) for line in file]
return data
```
2. **冒泡排序函数**:
编写一个冒泡排序的实现,它接受一个列表并返回已排序的列表。
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
```
3. **处理测试数据**:
调用`read_data`函数获取数据,对数据进行排序,然后将其保存到输出文件。
```python
def main():
test_data = read_data("冒泡排序测试数据.txt")
sorted_data = bubble_sort(test_data)
# 将排序后的数据写入"冒泡排序结果.txt"
with open("冒泡排序结果.txt", "w") as output_file:
for num in sorted_data:
output_file.write(str(num) + "\n")
if __name__ == "__main__":
main()
```
4. **运行程序**:
运行上面的`main()`函数即可完成整个过程。注意,这是一个基本版本的实现,如果输入文件过大,可能需要优化处理方式以避免一次性加载全部数据。
阅读全文