python之冒泡排序

一般考编程的公司就是很喜欢考冒泡排序

 

目录

1、冒泡排序

2、函数式

 

 

1、冒泡排序

编码:

#coding: utf-8


m=[1, 3, 10, 9, 21, 35, 4, 6]
s=range(len(m))[::-1]
for i in s:
    for j in range(i):
        if m[j]>m[j+1]:
            m[j],m[j+1]=m[j+1],m[j]

print m

  

解析:

01、range(): #输出列表

print range(5)

[1,2,3,4,5]

 

02、print range()[::-1] #函数反转

[5,4,3,2,1]

这样每次可以在列表循环一遍后,然后再减去已经排到最后一位的不用重新比较

 

03、m[1],m[2]=m[2],m[1]交换

 

 

2、函数式

def budder(m):
    for i in range(len(m))[::-1]:
        for j in range(i):
            if m[j]>m[j+1]:
                m[j],m[j+1]=m[j+1],m[j]
    return m


m1=[1,9,4,2,6,3]
m2=budder(m1)
print(m2)

  

posted @ 2018-12-24 21:25  给明天的自己  阅读(360)  评论(0编辑  收藏  举报