
这个代码需要优化一下,改进版的冒泡算法,用具体编程语言实现,并且设计打印输出证明该优化算法。
望采纳
原始冒泡排序的Python代码:
def BubbleSort(arr):
n = len(arr)
for i in range(n):
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
# 测试
print(BubbleSort([3, 1, 2, 5, 4])) # 输出: [1, 2, 3, 4, 5]
以下是完成加flag的优化版本的Python代码:
def BubbleSort_optimized(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
# 测试
print(BubbleSort_optimized([3, 1, 2, 5, 4])) # 输出: [1, 2, 3, 4, 5]