python排序的三种方法
时间: 2023-10-12 20:21:35 浏览: 51
1. 冒泡排序
冒泡排序是一种基本的排序算法,它通过不断地比较相邻的元素并交换位置来实现排序。具体实现过程如下:
```
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
```
2. 插入排序
插入排序是一种简单直观的排序算法,它通过将未排序的元素插入到已排序的元素中,逐步完成排序。具体实现过程如下:
```
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
```
3. 快速排序
快速排序是一种常用的排序算法,它通过选择一个基准元素,将数组分成两个子数组,其中一个子数组的所有元素都小于基准元素,另一个子数组的所有元素都大于基准元素,然后递归地对子数组进行排序。具体实现过程如下:
```
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)
```