定义一个函数bubble_sort,实现对数量不确定的一组数据采用冒泡排序法进行排序,返回结果为列表对象。同时,该函数有一个可选参数ascending,默认值为True,当该参数为True时,函数进行升序排序;该参数为False时,函数进行降序排序。
时间: 2024-03-24 21:38:43 浏览: 54
好的,以下是函数的实现:
```python
def bubble_sort(data, ascending=True):
"""
使用冒泡排序法对数据进行排序
:param data: 待排序的数据,类型为列表对象
:param ascending: 是否升序排序,默认为True,即升序排序
:return: 排序后的列表对象
"""
length = len(data)
for i in range(length - 1):
for j in range(length - i - 1):
if ascending:
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j] # 交换位置
else:
if data[j] < data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j] # 交换位置
return data
```
示例:
```python
data = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(bubble_sort(data)) # 升序排序
print(bubble_sort(data, False)) # 降序排序
```
输出:
```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
阅读全文