РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
399 of 815 menu

Функция rotate

Функция rotate из заголовочного файла algorithm выполняет циклический сдвиг элементов в диапазоне. В первом параметре мы передаём итератор начала диапазона, во втором - итератор элемента, который должен стать первым после сдвига, а в третьем - итератор конца диапазона. Элементы, находившиеся до указанного элемента, перемещаются в конец диапазона, сохраняя относительный порядок.

Синтаксис

rotate(first, middle, last)

Пример

Давайте выполним циклический сдвиг вектора так, чтобы элемент с индексом 2 стал первым:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; rotate(vec.begin(), vec.begin() + 2, vec.end()); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

3 4 5 1 2

Пример

Давайте выполним циклический сдвиг вектора так, чтобы элемент с индексом 3 стал первым:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; rotate(vec.begin(), vec.begin() + 3, vec.end()); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

4 5 1 2 3

Пример

Давайте выполним циклический сдвиг строки так, чтобы символ 'c' стал первым:

#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string str = "abcde"; rotate(str.begin(), str.begin() + 2, str.end()); cout << str << endl; return 0; }

Результат выполнения кода:

"cdeab"

Смотрите также

  • функция reverse,
    которая переворачивает порядок элементов
  • функция copy,
    которая копирует элементы диапазона
  • функция move,
    которая перемещает элементы диапазона
  • функция swap,
    которая обменивает значения двух объектов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить