1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/**
* Sample MVEL 2.0 Script
* "QuickSort"
* by: Christopher Michael Brock
*/
array = null;
def swap(i, j) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
def partition(low, high) {
pivotPoint = array[low];
i = low - 1;
j = high + 1;
while (i < j) {
i++; while (array[i] < pivotPoint) ++i;
j--; while (array[j] > pivotPoint) --j;
if (i < j) swap(i, j);
}
j; //return j
}
def sort(low, high) {
if (low < high) {
var p;
sort(low, p = partition(low, high));
sort(p + 1, high);
}
}
def quicksort() {
sort(0, array.length - 1);
}
array = {99,20,21,209,10,77,8,9,55,73,41,50};
quicksort();
array; // return array
|