JSFiddle - React, Tailwind, and code Playground
JavaScript
var threeSort = function(A,i,j) {
var diff = j-i;
if (diff <= 2) {
if (A[j] < A[i]) {
var tmp = A[i];
A[i] = A[j];
A[j] = tmp;
return;
}
}
var x = Math.floor(diff/3);
threeSort(A,i,x*2);
threeSort(A,x+1,j);
threeSort(A,i,x*2);
};
var arr = [3,4,1,4,2];
threeSort(arr, 0, arr.length-1);