版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaohuigou1786/article/details/81748715
冒泡排序是最简单的排序算法,通过比较相邻的两个数字,如果前面的比后面的大则交换位置,否则不变。因此外层循环需要n-1次,因为每次比较的是两个数字,到倒数第二个则可以停止比较,这一次循环结束。同时外层每循环一次则有一个数排序完成,因此内层循环n-1-i,i为外层的循环数,代码如下。
def bsort(a):
l = len(a)
for i in range(0,l-1):
for j in range(0,l-1-i):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
return a
if __name__=='__main__':
a = [1,5,9,8,3,2]
print (bsort(a))