一般考编程的公司就是很喜欢考冒泡排序
目录
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)