def quick_sort(data):
if len(data)<2:
return data
mid = data[len(data)//2]
left,right=[],[]
data.remove(mid) # 这儿对传入对象 修改了
for num in data:
if num>mid:
right.append(num)
else:
left.append(num)
return quick_sort(left)+[mid]+quick_sort(right) #拼接list
def insert_sort(data):
for i in range(len(data)):
for j in range(i):
if data[i]<data[j]:
data.insert(j,data.pop(i))
break
return data
array = [4,2,2,3,1,5,6,7]
arr2 = quick_sort(array)
print(arr2,len(arr2))
print(array,len(array))
arr3 = insert_sort(array)
print(arr3,len(arr3))
print(array,len(array))
原文:https://www.cnblogs.com/ShawSpring/p/10544001.html