最近在研究在研究Python,先是做了一个凯撒加密,现在则实现了冒泡排序算法。在实现这个算法时,坚决没有看现成的例子,完全是冒泡排序的文字叙述实现的。

因此,这个算法实现有很多没用的循环和判断,只是练习,在产品中使用肯定是不行的。另外代码中还包括性能统计swapwhiletime,分别计算的是数字的交换次数和循环的进入次数,通过此统计可以看出这个实现多么低效。

#!/usr/bin/python3
times=0
times2=0
swap=0
whiletime=0
list=[858282,4252,5825725,8752,-2825245,8725,-82257465]

while times2 < len(list) -1:
        whiletime+=1
        while times < len(list)-1:
                whiletime+=1
                times+=1
                if list[times-1] > list[times]:
                        swap+=1
                        a=list[times-1]
                        b=list[times]
                        list[times-1]=b
                        list[times]=a
        times2+=1
        times=0

print(list)
print('Swap times:',swap)
print('While times:',whiletime)