啊哈算法学习-快速排序
2016-04-06 17:38
267 查看
总感觉哪里不对的样子。。最后执行的时候有好多次m和n相等。。。。没有想出来是哪里有问题可以改进
执行结果:
import time nums=[3,2,6,8,5,9,1,11,7,4] def oneceSort(array,i): key=array[i] m=len(array)-1 n=1 while n<m: while array[m]>key: m-=1 while array <key: n+=1 print array ,array[m] print n,m if n<=m: array[m],array =array ,array[m] else: print array array[m],array[i] = array[i],array[m] print array time.sleep(1) for i in range(len(nums)-1): oneceSort(nums,i)
执行结果:
>>> ================================ RESTART ================================ >>> 6 1 2 6 [3, 2, 1, 8, 5, 9, 6, 11, 7, 4] 8 1 3 2 [3, 2, 1, 8, 5, 9, 6, 11, 7, 4] [1, 2, 3, 8, 5, 9, 6, 11, 7, 4] 2 2 1 1 [1, 2, 3, 8, 5, 9, 6, 11, 7, 4] 3 3 2 2 [1, 2, 3, 8, 5, 9, 6, 11, 7, 4] 8 4 3 9 [1, 2, 3, 4, 5, 9, 6, 11, 7, 8] 9 8 5 9 [1, 2, 3, 4, 5, 8, 6, 11, 7, 9] 8 7 5 8 [1, 2, 3, 4, 5, 7, 6, 11, 8, 9] 11 8 7 8 [1, 2, 3, 4, 5, 7, 6, 8, 11, 9] 8 8 7 7 [1, 2, 3, 4, 5, 7, 6, 8, 11, 9] 5 5 4 4 [1, 2, 3, 4, 5, 7, 6, 8, 11, 9] 7 6 5 6 [1, 2, 3, 4, 5, 6, 7, 8, 11, 9] 7 7 6 6 [1, 2, 3, 4, 5, 6, 7, 8, 11, 9] 7 7 6 6 [1, 2, 3, 4, 5, 6, 7, 8, 11, 9] 8 8 7 7 [1, 2, 3, 4, 5, 6, 7, 8, 11, 9] 11 9 8 9 [1, 2, 3, 4, 5, 6, 7, 8, 9, 11] 11 11 9 9 [1, 2, 3, 4, 5, 6, 7, 8, 9, 11]
相关文章推荐
- HttpRequestMethodNotSupportedException
- 四则运算 结对编程
- 帧动画FrameAnimation
- ASP.NET MVC路由配置详解
- 【iOS和HTML 5交互】iOS中加载html5调用html方法和修改html5内容
- 图片
- P2P理财投资过程中要注意哪些点
- VS2013仿真emwin[ucgui]时出现编译错误的解决方法
- .NET下实现分布式缓存系统Memcached
- hdu4289(拆点最大流)
- RakNet
- 飛飛(十九)简单的游戏角色设计
- 二分查找
- DBCP、C3P0、Proxool 、 BoneCP连接池的比较
- 第五周项目1(5)
- Your build settings specify a provisioning profile with the UUID, no provisioning profile was found
- 用jmap分析jvm使用状况
- ejb远程调用 之 weblogic
- 流式大数据处理的三种框架:Storm,Spark和Samza
- 跨浏览器处理事件