用python的for循环写冒泡排序

题目:利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序(冒泡排序:小的排前面,大的排后面。)

  第一种:可以看到每次排序的结果

 1 a = [100,97,4,89,34,2]
 2 n = 0
 3 for n in range(0,5):
 4     for i in range(0,len(a)-1):
 5         if a[i] > a[i+1]:
 6             a[i+1],a[i] = a[i],a[i+1]
 7             # change = a[i]
 8             # a[i] = a[i+1]
 9             # a[i+1] = change
10     n += 1
11     print("第{}次排序结果:{}".format(n,a))

  运行结果:  

第1次排序结果:[97, 4, 89, 34, 2, 100]
第2次排序结果:[4, 89, 34, 2, 97, 100]
第3次排序结果:[4, 34, 2, 89, 97, 100]
第4次排序结果:[4, 2, 34, 89, 97, 100]
第5次排序结果:[2, 4, 34, 89, 97, 100]

  第二种:代码简洁

a=[100,97,4,89,34,2]
for i in range(len(a)-1):
    for j in range(len(a)-i-1):
        if a[j] > a[j+1]:
            a[j+1],a[j] = a[j],a[j+1]
print(a)

  运行结果:[2, 4, 34, 89, 97, 100]

==================================================================================

尊重原创,若需转载请注明出处:https://www.cnblogs.com/lizhe860/

==================================================================================