写一个python冒泡排序函数,用于对多个数组进行排序
时间: 2023-05-26 14:01:03 浏览: 108
一个简单的Python实现冒泡排序算法的示例
好的,以下是一个冒泡排序函数,可以对多个数组进行排序:
```python
def bubble_sort(*arrays):
"""
冒泡排序函数,对多个数组进行排序
:param arrays: 多个数组,用*args形式传入
:return: 排序后的数组列表
"""
# 将所有数组拼接为一个大数组
combined_array = []
for array in arrays:
combined_array.extend(array)
# 冒泡排序
for i in range(len(combined_array)):
# 标记本轮是否有交换
swapped = False
for j in range(len(combined_array) - i - 1):
if combined_array[j] > combined_array[j + 1]:
# 交换数组中j和j+1位置的元素
combined_array[j], combined_array[j + 1] = combined_array[j + 1], combined_array[j]
swapped = True
# 如果本轮没有交换,说明已经排好序,可以提前退出循环
if not swapped:
break
# 将大数组按照元素个数分割成原来的数组形式
sorted_arrays = []
start = 0
for array in arrays:
end = start + len(array)
sorted_arrays.append(combined_array[start:end])
start = end
return sorted_arrays
```
这个函数接受多个数组作为参数,拼接成一个大数组之后调用冒泡排序算法进行排序。排序完成之后,按照数组原有的大小分割成多个数组返回。
使用示例:
```python
arr1 = [3, 5, 2, 4, 1]
arr2 = [9, 7, 8, 6, 10]
arr3 = [13, 16, 15, 11, 12, 14]
sorted_arr1, sorted_arr2, sorted_arr3 = bubble_sort(arr1, arr2, arr3)
print(sorted_arr1) # [1, 2, 3, 4, 5]
print(sorted_arr2) # [6, 7, 8, 9, 10]
print(sorted_arr3) # [11, 12, 13, 14, 15, 16]
```
阅读全文