JSFiddle - React, Tailwind, and code Playground
by tihg7947
JavaScript
var partition = function(array, p, r) {
// Compare array[j] with array[r], for j = p, p+1,...r-1
// maintaining that:
// array[p..q-1] are values known to be <= to array[r]
// array[q..j-1] are values known to be > array[r]
// array[j..r-1] haven't been compared with array[r]
// If array[j] > array[r], just increment j.
// If array[j] <= array[r], swap array[j] with array[q],
// increment q, and increment j.
// Once all elements in array[p..r-1]
// have been compared with array[r],
// swap array[r] with array[q], and return q.
//var arr = array;
var p, q;
for (var j = p; j < r; j++) {
if (array[j] <= array[r]) {
swap(array, j, p);
p++;
}
}
swap(array, r, p);
return p;
};