function sort(arr) {
var start = 0, mid = 0, end = arr.length - 1;
while (mid <= end) {
switch (arr[mid]) {
case 0:
[arr[start], arr[mid]] = [arr[mid], arr[start]];
start++;
mid++;
break;
case 1:
mid++;
break;
case 2:
[arr[mid], arr[end]] = [arr[end], arr[mid]];
end--;
break;
}
}
}
var arr = new Array(2, 1, 0, 0, 1, 2, 2, 1, 1, 2);
sort(arr);
for (var i = 0; i < arr.length; i++)
document.write(arr[i] + " ");
/*
run:
0 0 1 1 1 1 2 2 2 2
*/