快速排序 用python写出
时间: 2023-11-22 08:48:06 浏览: 71
以下是使用Python实现快速排序的代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
arr = [7, 8, 5, 45, 91, 1, -10,0]
print(quick_sort(arr)) # 输出:[-10, 0, 1, 5, 7, 8, 45, 91]
```
快速排序是一种高效的排序算法,其时间复杂度为O(nlogn)。它的基本思想是通过一趟排序将待排序列分成两部分,其中一部分的所有元素都比另一部分的所有元素小,然后再按此方法对这两部分分别进行快速排序,整个过程可以递归进行,以此达到整个序列有序的目的。
相关问题
用python写出一个快速排序
以下是用Python实现快速排序的例子:
```python
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = 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 quicksort(left) + middle + quicksort(right)
arr = [3, 6, 8, 10, 1, 2, 1]
print(quicksort(arr)) # 输出:[1, 1, 2, 3, 6, 8, 10]
```
利用Python写出快速排序算法的代码
当然可以,以下是Python实现的快速排序算法代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = 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)
```
这段代码可以对一个列表进行快速排序。
阅读全文