1234567891011121314151617181920212223242526272829 |
- // quicksort example from http://haxe.org/doc/snip/quicksort
- class Quicksort {
- static var arr = [4,8,0,3,9,1,5,2,6,7];
- static function quicksort( lo : Int, hi : Int ) : Void {
- var i = lo;
- var j = hi;
- var buf = arr;
- var p = buf[(lo+hi)>>1];
- while( i <= j ) {
- while( arr[i] > p ) i++;
- while( arr[j] < p ) j--;
- if( i <= j ) {
- var t = buf[i];
- buf[i++] = buf[j];
- buf[j--] = t;
- }
- }
- if( lo < j ) quicksort( lo, j );
- if( i < hi ) quicksort( i, hi );
- }
- static function main() {
- quicksort( 0, arr.length-1 );
- trace(arr);
- }
- }
|