快速排序的python代码
时间: 2023-05-27 11:07:23 浏览: 84
以下是快速排序的Python实现代码:
```python
def quickSort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in arr[1:]:
if i < pivot:
left.append(i)
else:
right.append(i)
return quickSort(left) + [pivot] + quickSort(right)
# 测试
arr = [5, 2, 6, 1, 8, 9, 3]
print(quickSort(arr))
```
输出结果:
```
[1, 2, 3, 5, 6, 8, 9]
```
快速排序的基本思路是选择一个基准值(pivot),将数组中小于基准值的元素放在左边,大于基准值的元素放在右边,然后分别对左右两个子数组进行递归排序,最后将左、基准、右三个部分拼接起来即为排序后的结果。在上面的代码中,我们选择了第一个元素作为基准值。
相关问题
快速排序 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)
# 使用示例:
arr = [3,6,8,10,1,2,1]
sorted_arr = quick_sort(arr)
print("Sorted array:", sorted_arr)
快速排序python代码
以下是快速排序的 Python 代码:
```
def quick_sort(array):
if len(array) < 2:
return array
else:
pivot = array[0]
less = [i for i in array[1:] if i <= pivot]
greater = [i for i in array[1:] if i > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
```
以上代码可以对数组进行快速排序,时间复杂度为 O(n log n)。
阅读全文