基于python快速排序代码
时间: 2023-11-01 10:08:43 浏览: 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)
```
相关问题
python快速排序代码怎么写
下面是一个基于递归的 Python 快速排序实现代码:
```python
def quicksort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in range(1, len(arr)):
if arr[i] < pivot:
left.append(arr[i])
else:
right.append(arr[i])
return quicksort(left) + [pivot] + quicksort(right)
```
这个函数会递归地将列表分割成两个子列表,一个子列表包含小于基准值的元素,另一个子列表包含大于基准值的元素。然后再对这两个子列表分别进行递归调用,最终返回排好序的列表。
python快速排序算法代码
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]
sorted_arr = quicksort(arr)
print("Sorted array:", sorted_arr)
阅读全文