Ну ты уж сразу озвучь все условия :) Кстати. Изначально сказано, что можно использовать 2 переменные. И тут же говоришь, что "новый массив - новая переменная", т.е. типа того, что нельзя использовать новый массив. И где тут логика в твоих утверждениях?
И кстати. Ты ничего не сказал о ключах массива :) То ли они цифровые, то ли это ассоциативный массив. И что в итоге должно быть с ключами. И также не сказал, где именно это массив. А это может быть существенно!!! Потому что в ПХП или в JS массив, по своей сути, объект. А в Си - это просто последовательно взятый набор ячеек памяти. Алгоритмы для Си и для ПХП будут немного отличаться, потому что в Си надо будет сохранить местоположение данных (адреса ячеек), а в ПХП пофиг на это. В целом алгоритмы, конечно, будут схожи. Но в Си будут еще дополнительные телодвижения.
Я вот так предлагаю. Допустим, что изначально у нас данные расположены вот так (это индексы массива, а не величины!!!):
0 1 2 3 4 5
На первой итерации мы берем предпоследний элемент массива и записываем его в промежуточную переменную. После чего перезаписываем данные, получаем их в такой последовательности (цифры - начальные индексы данных):
0 1 2 3 5 4
Далее берем следующий элемент (в данном случае 3-й), пишем его в промежуточную переменную, все следующие за ним (5 и 4) смещаем влево, а затем 3-й пишем в конце:
0 1 2 5 4 3
Ну и так далее, пока не дойдем до начала. К этому моменту у нас массив будет реверсный. Лишних массивов мы при этом создавать не будем. Да, будет много действий - но на их количество ограничений объявлено не было.
В принципе, для ассоциативного массива можно даже ключи сохранить :) Но это будут дополнительные телодвижения. Проще всего будет реализовать алгоритм для массивов, у которых именно цифровые и идущие подряд индексы у элементов.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)