用python写排序算法
时间: 2023-03-02 11:20:16 浏览: 64
Python 有许多内置的排序算法,其中最常用的是快速排序(quicksort)和归并排序(mergesort)。以下是实现快速排序的代码示例:
```
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)
```
以下是实现归并排序的代码示例:
```
def merge_sort(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left = arr[:mid]
right = arr[mid:]
left = merge_sort(left)
right = merge_sort(right)
return merge(left, right)
def merge(left, right):
result = []
left_pointer, right_pointer = 0, 0
while left_pointer < len(left) and right_pointer < len(right):
if left[left_pointer] < right[right_pointer]:
result.append(left[left_pointer])
left_pointer += 1
else:
result.append(right[right_pointer])
right_pointer += 1
while left_pointer < len(left):
result.append(left[left_pointer])
left_pointer += 1
while right_pointer < len(right):
result.append(right[right_pointer])
right_pointer += 1
return result
```