学习了Python后,用python写一个快速排序
算法思路:
选择列表第一个元素作为对比对象,让后面的元素和第一个元素对比大小。比第一个元素小的就放到左侧列表中,比第一个元素大的就放到右侧列表中,如此递归。。。最终列表中会剩下一个元素,返回这个元素,合并函数返回的所有结果。
def qsort(ls:list):
if len(ls) <= 1:
return ls
left_ls = []
right_ls = []
while len(ls) > 1:
i = ls.pop()
if i <= ls[0]: #列表第一个元素作为对比对象
left_ls.append(i)
else:
right_ls.append(i)
return qsort(left_ls) + [ls[0]] + qsort(right_ls)
ls = [3,6,2,1,7,9,8,10,5,4]
ls2 = qsort(ls)
print(ls2)
感觉Python代码比PHP简洁一些