'''
快速排序:分而治之,一分为二进行排序
'''
import cProfile
import random
def quick_sort(nums):
if len(nums) <= 1:
return nums
s_nums = []
l_nums = []
#小于nums[0]放左边
for i in nums[1:]:
if i < nums[0]:
s_nums.append(i)
else:
# #大于nums[0]放右边
l_nums.append(i)
#nums[0:1]是列表[],nums[0]是int数字
#连接左右列表加num[0:1]
return quick_sort(s_nums)+nums[0:1]+quick_sort(l_nums)
nums = [random.randint(0,10000) for i in range(10000)]
print(quick_sort(nums))
cProfile.run('quick_sort(nums)')
排序:略
运行时间:0.043秒(称得上快速之名)