В этой функции от nczonline я заметил, что слева и справа скопированы в i и j, но никогда не используются после этого. Есть ли способ устранить либо левый, либо правый, или i и j?Можно ли здесь исключить переменные переменных?
function partition(items, left, right) {
var pivot = items[Math.floor((right + left)/2)],
i = left,
j = right;
while (i <= j) {
while (items[i] < pivot) {
i++;
}
while (items[j] > pivot) {
j--;
}
if (i <= j) {
swap(items, i, j);
i++;
j--;
}
}
return i;
}
Это похоже на часть быстрой сортировки? – crush