C++ и Python

Разворот последовательности (3)

Разворот последовательности

Условие

Реализуйте функции 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}

Как тестировать решение локально

  1. Установить библиотеку Google Test.

  2. Собрать программу с помощью cmake и запустить ctest:

    mkdir build; cd build
    cmake ..; cmake --build .
    ctest -V