[英]Bubble Sort Python sorting only once
Can anyone help me in identifying the error in this program for bubble sort?任何人都可以帮助我识别该程序中的冒泡排序错误吗?
def bsort(a):
for i in range (0, len(a)-1):
for j in range(i):
if a[j]> a[j+1]:
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
num = [1,2,6,5,7,2,5,9]
bsort(num)
print(num)
It sorts the list only once.它只对列表进行一次排序。
更改外循环中的范围:
for i in range (0, len(a)):
Minor issues in for loop. for 循环中的小问题。
def bsort(a):
for i in range (0, len(a)-1):
for j in range(len(a)-2): ## updated here
if a[j]> a[j+1]:
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
num = [1,2,6,5,7,2,5,9]
bsort(num)
print(num)
Output is [1, 2, 2, 5, 5, 6, 7, 9]
输出为
[1, 2, 2, 5, 5, 6, 7, 9]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.