там чувак в одном сообщении два тупака написал -- про O(n/2), и, собственно "Это в принципе не возможно. Для обмена двух переменных(элементов массива) нужна одна переменная."
Помнится когда меня на курсах по программированию попросили обменять местами две переменных не используя третью я написал __asm { push a; push b; pop a; pop b; }