每日分享
It is not the load that breaks you down. It's the way you carry it.
不是负重把你压垮的,而是你搬运它的方式。
小闫语录:
两桶水很难提,使用扁担挑就容易的多。一袋大米很难抗,用小推车推着就很轻松。瞧,用对了方法,即使搬运再重的东西也有化解的方法。做事也是如此,如果压力太大,不妨换个角度思考,重新整理思路再做。
更正
冒泡排序
之前『python技术面试题(十五)--算法』一文中,介绍了冒泡排序的python实现。当时测试的列表没问题,但是今天换了一个特殊的列表,发现之前写的代码不能达到效果,所以特此对代码进行更正。如果哪里有问题,欢迎大家指正。
def bubble_sort(alist): for j in range(len(alist)-1,0,-1): for i in range(j): if alist[i] > alist[i+1]: alist[i],alist[i+1] = alist[i+1],alist[i] print(alist) alist = [23,13,1,3,5,2,1,7] bubble_sort(alist) print(alist) ------结果-------- [1, 1, 2, 3, 5, 7, 13, 23]
其中 range(len(alist)-1,0,-1)
大家可能不是很理解。我下面举例说明一下:
for i in range(3,0,-1): print(i,end=',')
输出的结果为:
3,2,1,
结合上面的例子,我们可以看出 range(3,0,-1)
其实是 [3,0)
进行倒序,因为区间是左闭右开,所以0取不到,相当于对区间 (0,3]
进行倒序。
再来看冒泡排序的代码是不是就明白了。