你这不是冒泡排序而是选择排序,冒泡排序应该这样写:k=[3,6,8,9,2,1,7,4,5]for i in range(len(k)-1):for j in range(len(k)-1-i):if k[j]>k[j+1]:k[j], k[j+1]=k[j+1], k[j]print(k)这是截图:如果要用选择排序,可以改成这样:k=[3,6,8,9,2,1,7,4,...
请问python大佬?
你这不是冒泡排序而是选择排序,冒泡排序应该这样写:
k=[3,6,8,9,2,1,7,4,5]
for i in range(len(k)-1):
for j in range(len(k)-1-i):
if k[j]>k[j+1]:
k[j], k[j+1]=k[j+1], k[j]
print(k)
这是截图:
如果要用选择排序,可以改成这样:
k=[3,6,8,9,2,1,7,4,5]
for i in range(len(k)-1):
for j in range(i+1, len(k)):
if k[i]>k[j]:
k[i], k[j]=k[j], k[i]
print(k)
这是截图:
2021-09-01
冒泡排序是要一个数字和其他的全部进行比较之后在换位置的。
你这个方法不能保证你排在前面的数字是数列里面最小的2021-09-02
k = [3, 6, 8, 9, 2, 1, 7, 4, 5]
for i in range(len(k)):
for j in range(i, len(k)):
if k[i] > k[j]:
k[i], k[j] = k[j], k[i]
print(k)2021-09-02
len(k)-1这个-1去掉2021-09-01