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

Метод rotate_right

Метод rotate_right выполняет циклический сдвиг элементов среза вправо. Параметром метод принимает количество позиций mid, на которое нужно сдвинуть элементы. Элементы, вышедшие за правую границу среза, переносятся в его начало. Метод изменяет срез на месте и не возвращает значения.

Синтаксис

slice.rotate_right(mid)

Пример

Давайте сдвинем элементы среза [1, 2, 3, 4, 5] вправо на две позиции:

fn main() { let mut arr = [1, 2, 3, 4, 5]; arr.rotate_right(2); println!("{:?}", arr); }

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

[4, 5, 1, 2, 3]

Пример

Давайте сдвинем элементы среза [1, 2, 3, 4, 5] вправо на одну позицию:

fn main() { let mut arr = [1, 2, 3, 4, 5]; arr.rotate_right(1); println!("{:?}", arr); }

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

[5, 1, 2, 3, 4]

Пример

Если количество позиций равно длине среза, порядок элементов не изменится. Давайте проверим это на срезе [1, 2, 3, 4, 5]:

fn main() { let mut arr = [1, 2, 3, 4, 5]; arr.rotate_right(5); println!("{:?}", arr); }

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

[1, 2, 3, 4, 5]

Пример

Если количество позиций больше длины среза, оно берётся по модулю длины. Давайте сдвинем срез [1, 2, 3, 4, 5] вправо на семь позиций:

fn main() { let mut arr = [1, 2, 3, 4, 5]; arr.rotate_right(7); println!("{:?}", arr); }

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

[4, 5, 1, 2, 3]

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

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