所以我定义了一个用于气泡排序的函数,但是当我尝试运行它时,我只会得到一个空白的控制台窗口。我觉得它确实很愚蠢,例如语法错误,但我无法将其固定下来。这是代码:
def bubble(arr):
swap = True
while (swap == True):
swap = False
for i in range(len(arr)-1):
temp = arr[i]
if arr[i]> arr[i+1]:
temp = arr[i+1]
arr[1] = arr[i+1]
swap = True
array = ["AB","AAB","AAA"]
print (bubble(array))
input()
这是一个气泡功能,更可能会起作用。
def bubble(arr):
swap = True
while (swap == True):
swap = False
for i in range(len(arr)-1):
if arr[i]> arr[i+1]:
arr[i], arr[i+1] = arr[i+1], arr[i]
swap = True
return arr
您的原始气泡功能存在各种问题。
print(bubble(array))
将始终输出None
swap = True
语句放置不当,并在while循环的每一步执行,导致无限循环arr[1] = arr[i+1]
不是arr[i] = arr[i+1]
,而是忘记了交换的第二部分。在python中,您可以交换两个值而无需使用temp
变量,这就是我所做的。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句