Python之冒泡排序

给出一个纯数字列表. 请对列表进行排序。
列表为
lst = [7,9,6,3,8,4,2,5,1,0,435,345,123,567,457,456,678,]
此时用到一个知识点:
a,b=b,a
lst = [7,9,6,3,8,4,2,5,1,0,435,345,123,567,457,456,678,]
lst2=[]
for i in range(len(lst)):
    for j in range(len(lst)-1):
        if lst[j]>lst[j+1]:
            lst[j],lst[j+1]=lst[j+1],lst[j]
print(lst)

  结果为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 123, 345, 435, 456, 457, 567, 678]

此时程序还可以优化,不用循环这么多次:

如下:

for i in range(len(lst)-1):
    for j in range(len(lst) - 1 - i):
        if lst[j]>lst[j + 1]:
            lst[j], lst[j + 1]= lst[j + 1], lst[j]
print(lst)
View Code

猜你喜欢

转载自www.cnblogs.com/xiaozhangpython/p/9648755.html
今日推荐