Разворот последовательности
Условие
Реализуйте функции Reverse и CopyReverse. Обе функции принимают вектор целых чисел. Первая переставляет элементы вектора в обратном порядке (in place), а вторая возвращает копию вектора, в которой элементы расположены в обратном порядке.
Примеры
vector<int> numbers = {1, 5, 3, 4, 2};
Reverse(numbers);
// numbers должен оказаться равным {2, 4, 3, 5, 1}
vector<int> numbers = {1, 5, 3, 4, 2};
auto copy_numbers = CopyReverse(numbers);
// copy_numbers должен быть равным {2, 4, 3, 5, 1},
// при этом numbers остается {1, 5, 3, 4, 2}
Как тестировать решение локально
Собрать программу с помощью cmake и запустить ctest:
cmake -S . -B build/ -G "MinGW Makefiles"
cmake --build build/
ctest --test-dir build -V