Копирование назад в C++
Алгоритм copy_backward копирует элементы
с конца к началу, начиная с итератора
на конец выходного диапазона.
Нужен, когда источник и приемник
пересекаются и обычный copy
испортил бы еще не прочитанные ячейки.
Запишем массив и сдвинем блок вправо
внутри себя, выведем ряд:
#include <algorithm>
#include <iostream>
int main() {
int data[] = {1, 2, 3, 4, 5};
std::copy_backward(data, data + 3, data + 5);
for (int v : data) {
std::cout << v << " ";
}
std::cout << "\n";
return 0;
}
В массиве {9, 9, 9, 1, 2, 3} скопируйте первые три элемента в конец алгоритмом copy_backward так, чтобы хвост стал {1, 2, 3}, и выведите массив.