python实现冒泡排序

冒泡排序

1.比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。

2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这对做完后,最后的元素会是最大(小)的数。

3.针对所有的元素重复以上步骤,除了最后已经选出的元素。

4.持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。

思路

  1. 外层for循环->控制列表中余下比较元素的个数

  2. 内层for循环->控制当前循环比较的元素

代码

def maopao(array):
    n=len(array)
    for i in range(0,n-1):
        for j in range(0,n-1-i):
            if array[j]>array[j+1]:
                array[j],array[j+1]=array[j+1],array[j]
    return array



array=[3,4,1,5,8,4,3,2]
res=maopao(array)
print(res)

 

你可能感兴趣的:(python,数据结构)