算法:冒泡排序、快排用python写下
冒泡排序:
# 冒泡排序python实现
a = [34,51,12,42,11,7,23,56,32]
for i in range(len(a)-1): # 从头到尾排一遍,排len(a)-1次
for j in range(len(a)-1-i): # 对于a[j]要比较len(a)-1-i次
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print('冒泡排序结束,从小到大为:',a)
# 冒泡排序结束,从小到大为: [7, 11, 12, 23, 32, 34, 42, 51, 56]
# 封装函数
def popsort(sort_list):
for i in range(len(sort_list)-1):
for j in range(len(sort_list)-1-i):
if sort_list[j]<sort_list[j+1]:
sort_list[j],sort_list[j+1]=sort_list[j+1],sort_list[j]
print('冒泡排序结束,从大到小为:',sort_list)
b = [34,680,7,85,45,42,65]
popsort(b)
快排:
# 快排python实现
def quick_sort(s_list):
if s_list == []:
return []
else:
first = s_list[0]
less = quick_sort([i for i in s_list[1:] if i <first])
more = quick_sort([j for j in s_list[1:] if j>=first])
return more + [first] + less
c = [4,66,9,55,32,36,5,8,9]
d=quick_sort(c)
print(d)
类方法、实例方法、私有方法、静态方法