python快速排序代码实例
2013-11-21 00:00
931 查看
一、 算法描述:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
二、python快速排序代码
结果:
[8, 10, 9, 6, 4, 16, 5, 13, 26, 18, 2, 45, 34, 23, 1, 7, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 18, 23, 26, 34, 45]
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
二、python快速排序代码
#!/usr/bin/python # -*- coding: utf-8 -*- def sub_sort(array,low,high): key = array[low] while low < high: while low < high and array[high] >= key: high -= 1 while low < high and array[high] < key: array[low] = array[high] low += 1 array[high] = array[low] array[low] = key return low def quick_sort(array,low,high): if low < high: key_index = sub_sort(array,low,high) quick_sort(array,low,key_index) quick_sort(array,key_index+1,high) if __name__ == '__main__': array = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3] print array quick_sort(array,0,len(array)-1) print array
结果:
[8, 10, 9, 6, 4, 16, 5, 13, 26, 18, 2, 45, 34, 23, 1, 7, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 18, 23, 26, 34, 45]
相关文章推荐
- python快速排序代码实例
- python 快速排序代码
- 快速排序(伪代码 c/c++ python 实现)
- Python选择排序、冒泡排序、合并排序代码实例
- python 快速排序 代码
- 以一段代码为实例快速入门Python2.7
- JS实现随机化快速排序的实例代码
- python简洁代码实现快速排序
- JS实现随机化快速排序的实例代码
- python快速排序代码示例!
- C 语言快速排序实例代码
- python 快速排序代码
- Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《算法导论》伪代码)
- Python爬取qq空间说说的实例代码
- 快速排序的C语言代码实现
- 用JAVA代码实现快速排序
- Python heapq使用详解及实例代码
- [Python] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例
- 算法代码实现之三向切分快速排序,C/C++实现
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容