as3版经典算法--快速排序算法(一)
来源:互联网 发布:asp数据库管理网页 编辑:程序博客网 时间:2024/06/03 14:52
最近闲来 总结一下as3 版本的一些算法:
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
测试一个10000个元素的数组,快速排序所用时间52ms,希尔排序所用时间92ms
private function quicksort (a :Array, lo :int, hi :int) :void { var i :int = lo;var j :int = hi; while(i<j){while(i<j&&a[i]<=a[j])//以数组start下标的数据为key,右侧扫描{j--;}if(i<j)//右侧扫描,找出第一个比key小的,交换位置{swap(a,i,j);}while(i<j&&a[i]<a[j])//左侧扫描(此时a[j]中存储着key值){i++;}if(i<j)//找出第一个比key大的,交换位置{swap(a,i,j);}}if(i-lo>1){//递归调用,把key前面的完成排序quicksort(a,lo,i-1);}if(hi-i>1){quicksort(a,i+1,hi);//递归调用,把key后面的完成排序}} private function swap(a :Array,i :int,j:int):void { var temp :int; temp = a[i]; a[i] = a[j]; a[j] = temp; }
- as3版经典算法--快速排序算法(一)
- 【经典算法】快速排序
- 经典算法:快速排序
- 经典算法--快速排序
- 经典算法--快速排序
- 【经典算法】:快速排序
- 【经典排序算法】快速排序
- 经典排序算法--快速排序
- [快速排序] 经典排序算法
- AS3实现经典算法(一) 斐波纳契数列
- 经典算法之快速排序
- 经典算法回顾:快速排序
- 经典算法之快速排序
- 白话经典算法 快速排序
- 白话经典算法-快速排序
- 图示经典算法--快速排序
- 经典算法之快速排序
- 经典算法之一:快速排序
- what's REPL
- JSONObject的toBean 和 fromObject
- 从另一个方面看 Linq to Xml中的万圣节问题(迭代中的万圣节问题)
- 一个定制CFileDialog对话框的实例
- 抽象类
- as3版经典算法--快速排序算法(一)
- I2C是个好协议
- 操作系统之存储的秘密
- 第十周任务(二)
- Computer Networks Conferences
- 使用highstock创建面积图
- Java 15
- FIR与IIR
- proces record