// JavaScript: Quicksort function quicksort(x, first, last) { debugger; // Set breakpoint var pivot, j, temp, i; if (first < last) { pivot = first; i = first; j = last; while (i < j) { while (x[i] <= x[pivot] && i < last) i++; while (x[j] > x[pivot]) j--; if (i < j) { temp = x[i]; x[i] = x[j]; x[j] = temp; } } temp = x[pivot]; x[pivot] = x[j]; x[j] = temp; quicksort(x, first, j - 1); quicksort(x, j + 1, last); } return x; } // Test var test = [2, 5, 3, 4, 1, 6, 9, 7, 8]; alert(quicksort(test, 0, (test.length - 1)));