#快速排序简介
#1.直接排:取第一个数和后面的比,小的放前面,大的放后面
def kp(ls):
min1 = []
max1 = []
if len(ls) <= 1:
return ls
for i in ls[1:]:
if i <= ls[0]:
min1.append(i)
elif i > ls[0]:
max1.append(i)
return kp(min1) + ls[0:1] +kp(max1)
lists = [1,4,8,3,67,90,34,76,31]
result = kp(lists)
print(result)
#2.用列表推导式排序
def kp(ls):
if len(ls) <= 1:
return ls
return kp([i for i in ls[1:] if i <= ls[0]]) + ls[0:1] + kp([i for i in ls[1:] if i > ls[0]])
print(kp([1,4,8,3,67,90,34,76,31]))
#3.用函数排序
lists = [1,4,8,3,67,90,34,76,31]
lists.sort()
print(lists)
兄弟连学python
Python学习交流、资源共享群:563626388 QQ