帮我写一个python快速排序
时间: 2023-02-08 18:36:59 浏览: 77
```python
def partition(arr,low,high):
i = ( low-1 )
pivot = arr[high]
for j in range(low , high):
if arr[j] <= pivot:
i = i+1
arr[i],arr[j] = arr[j],arr[i]
arr[i+1],arr[high] = arr[high],arr[i+1]
return ( i+1 )
def quickSort(arr,low,high):
if low < high:
pi = partition(arr,low,high)
quickSort(arr, low, pi-1)
quickSort(arr, pi+1, high)
arr = [10, 7, 8, 9, 1, 5]
n = len(arr)
quickSort(arr,0,n-1)
print ("Sorted array is:")
for i in range(n):
print ("%d" %arr[i]),
```
上面代码实现了一个快速排序算法。这个算法的基本思想是,在数组中选择一个元素(通常称为"基准"),并将数组划分为两部分,其中一部分的所有元素都小于等于基准,而另一部分的所有元素都大于基准。这个过程重复进行,直到整个数组有序。这里使用的是最简单的划分策略,即选择最后一个元素作为基准。