Python3之快速排序
2018-01-27 09:23
232 查看
def quickSort(List, left, right): if left >= right: # 如果只有一个数字时,结束递归 return flag = left for i in range(left + 1, right + 1): # 默认以第一个数字作为基准数,从第二个数开始比较,生成索引时要注意右部的值 if List[i] < List[flag]: tmp = List[i] del List[i] List.insert(flag, tmp) flag += 1 quickSort(List, left, flag - 1) # 将基准数前后部分分别递归排序 quickSort(List, flag + 1, right) List = [1, -2, 4, 7, 6, 3, 2, 3] quickSort(List, 0, 7) print(List)
网上看的快排,简单易懂,感兴趣的可以研究一下~
相关文章推荐
- python: 快速排序
- Python学习笔记:归并排序和快速排序
- 快速排序,归并排序,堆排序python实现
- python写算法之快速排序
- python快速排序
- 【python 数据结构 1:排序】冒泡排序和快速排序
- python之快速排序
- 用Python实现排序算法――快速排序
- python练习:逆波兰,冒泡排序,快速排序
- 算法导论程序14-快速排序的随机化版本(Python)
- Python3快速排序
- 快速排序和归并排序Python3代码实现
- python实现快速排序和归并排序
- python实现快速排序
- Python实现快速排序
- 用python实现快速排序
- python实现快速排序
- Python算法:快速排序
- 快速排序的算法思想及Python版快速排序的实现示例
- Python之排序算法:快速排序与冒泡排序