default.txt 715 B

1234567891011121314151617181920212223242526272829
  1. // quicksort example from http://haxe.org/doc/snip/quicksort
  2. class Quicksort {
  3. static var arr = [4,8,0,3,9,1,5,2,6,7];
  4. static function quicksort( lo : Int, hi : Int ) : Void {
  5. var i = lo;
  6. var j = hi;
  7. var buf = arr;
  8. var p = buf[(lo+hi)>>1];
  9. while( i <= j ) {
  10. while( arr[i] > p ) i++;
  11. while( arr[j] < p ) j--;
  12. if( i <= j ) {
  13. var t = buf[i];
  14. buf[i++] = buf[j];
  15. buf[j--] = t;
  16. }
  17. }
  18. if( lo < j ) quicksort( lo, j );
  19. if( i < hi ) quicksort( i, hi );
  20. }
  21. static function main() {
  22. quicksort( 0, arr.length-1 );
  23. trace(arr);
  24. }
  25. }