【发布时间】:2018-12-11 06:55:44
【问题描述】:
我创建了一个小函数来在 Python 3 中进行 BubbleSort(只是学习如何编码),但我找不到问题。
这里是代码。由于某种原因,它返回“无”。有人可以看看吗?谢谢!
arr = [1,5,2,7,3]
def bubbleSort(array):
count = 0
#print("array is currently",array)
for idx in range(len(array)-1):
if array[idx] > array[idx + 1]:
array[idx],array[idx + 1] = array[idx + 1],array[idx]
count += 1
#print("swaped and count is currently",count)
#print("array is currently",array)
if count == 0:
#print("Count is zero")
#print("array is currently",array)
return array
else:
#print("Count is not zero")
bubbleSort(array)
print(bubbleSort(arr))
【问题讨论】:
-
在你的
else中你需要return bubbleSort(array)...我不能说其余实现的正确性 -
递归函数在返回值的方式上与普通 Python 函数没有什么不同,所有对
bubbleSort的递归调用都被丢弃了,因为您没有访问结果。
标签: python python-3.x bubble-sort