1 2 3 4 5 6 7 |
def bubble_sort(ary): n = len(ary) for i in range(0,n): for j in range(1,n-i): if ary[j-1]>ary[j]: ary[j],ary[j-1]=ary[j-1],ary[j] return ary |
代码参考地址:http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/#comments
冒泡排序是因为每次都将现有数组中最大的冒泡到最后,所以叫冒泡排序
第一次循环的目的就是找到最大值,并将其放到最后的位置,具体方法是
a[0]和a[1]进行比较,将两者当中比较大的放到后边,即是最终的结果a[1]>a[0],如果不是,两着位置互换
然后继续,a[1]和a[2]比较,确保a[1]是两者中大的值,这同时也是前3个中最大的
….
最后的结果就是最后一个元素是所有元素中最大的元素,第一次大循环结束
第二次开始:
这一次和第一次循环一样,还是从a[0]开始,但是,我门这一次不需要关系最后一个元素的大小,因为上一次循环我们就已经保证它最大了
…..
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021