python-冒泡排序

冒泡排序是一种排序算法:

有几个杂乱无序的数字,用第1个数跟第2个数字做比较,若第1个数大则互换位置,

再用第2个数与第3个数做计较,若前者大,则互换位置,直到这些数字中最大值冒到最上面,

然后进行第2、3、4轮......,直到所有的数按从小到大排序
 

比如对列表a=[1,7,4,89,34,2]进行冒泡排序:

第1轮:a=[1,7,4,89,34,2]
1<7 a=[1,7,4,89,34,2]
7>4 a=[1,4,7,89,34,2]
7<89 a=[1,4,7,89,34,2]
89>34 a=[1,4,7,34,89,2]
89>2 a=[1,4,7,34,2,89]


 第2轮:a=[1,4,7,34,2,89]
 1<4 a=[1,4,7,34,2,89]
 4<7 a=[1,4,7,34,2,89]
 7<34 a=[1,4,7,34,2,89]
 34>2 a=[1,4,7,2,34,89]

 第3轮: a=[1,4,7,2,34,89]
 1<4 a=[1,4,7,2,34,89]
4<7 a=[1,4,7,2,34,89]
7>2 a=[1,4,2,7,34,89]

 第4轮:a=[1,4,2,7,34,89]
1<4 a=[1,4,2,7,34,89]
4>2 a=[1,2,4,7,34,89]

 第5轮 a=[1,2,4,7,34,89]
1<2 a=[1,2,4,7,34,89]

所以最后列表a的冒泡结果是: a=[1,2,4,7,34,89]

 

python语句,利用for循环实现冒泡排序

a=[1,7,4,89,34,2]
def maopao_sort(a):
    for i in range(0,len(a)-1):#冒泡循环的次数
        for j in range(0,len(a)-1-i):#j为列表下标
            if a[j]>a[j+1]:#如果前者大于后者,互换位置
                a[j],a[j+1]=a[j+1],a[j]
maopao_sort(a)
print(a)

 

posted @ 2018-11-02 10:51  赵小丫  阅读(150)  评论(0编辑  收藏  举报