快速排序设有一个长度为n的整数数列请使用快速排序对这个数列按照从小到大进行排序并将排序好的数列按顺序输出
时间: 2024-05-13 17:21:07 浏览: 11
快速排序的基本思想是通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再按此方法对这两部分记录继续进行排序,以达到整个序列有序的目的。
下面是使用递归实现的快速排序程序:
```python
def quick_sort(arr, left, right):
if left >= right:
return
pivot = arr[left]
i, j = left, right
while i < j:
while arr[j] >= pivot and i < j:
j -= 1
arr[i] = arr[j]
while arr[i] <= pivot and i < j:
i += 1
arr[j] = arr[i]
arr[i] = pivot
quick_sort(arr, left, i - 1)
quick_sort(arr, i + 1, right)
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
quick_sort(arr, 0, len(arr) - 1)
print(arr)
```
输出结果为:`[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)