python冒泡排序和快速排序的区别
快速排序:
def quick_sort(arr):if len(arr)<=1:return arrpivot = arr[len(arr)//2]left = [x for x in arr if x<pivot]middle = [x for x in arr if x==pivot]right = [x for x in arr if x>pivot]return quick_sort(left)+middle+quick_sort(right)arr =[10,9,8,7,6,5,4,3,2,1,0,-1]
print(quick_sort(arr))
快速排序原理:
选择基准值(pivot):代码中选择数组中间的元素作为基准值(pivot = arr[len(arr) // 2])。
分区(Partition):
left:所有小于基准值的元素。
middle:所有等于基准值的元素。
right:所有大于基准值的元素。
递归排序:对 left 和 right 部分递归调用 quick_sort,然后将结果与 middle 拼接起来。
