Метод swap
Метод swap меняет местами два элемента
среза. Он не возвращает значения, а изменяет
исходный срез. Параметрами метод принимает
два индекса элементов, которые нужно поменять
местами. Если хотя бы один из индексов выходит
за границы среза, программа завершится с
паникой.
Синтаксис
slice.swap(a, b)
Пример
Давайте поменяем местами первый и последний
элементы среза [1, 2, 3, 4, 5]:
fn main()
{
let mut arr = [1, 2, 3, 4, 5];
arr.swap(0, 4);
println!("{:?}", arr);
}
Результат выполнения кода:
[5, 2, 3, 4, 1]
Пример
Давайте поменяем местами второй и четвёртый
элементы среза [1, 2, 3, 4, 5]:
fn main()
{
let mut arr = [1, 2, 3, 4, 5];
arr.swap(1, 3);
println!("{:?}", arr);
}
Результат выполнения кода:
[1, 4, 3, 2, 5]
Пример
Давайте поменяем местами элементы среза
строк ["a", "b", "c", "d", "e"]:
fn main()
{
let mut arr = ["a", "b", "c", "d", "e"];
arr.swap(0, 2);
println!("{:?}", arr);
}
Результат выполнения кода:
["c", "b", "a", "d", "e"]
Смотрите также
-
метод
swap_with_slice,
который меняет местами элементы двух срезов -
метод
reverse,
который переворачивает порядок элементов среза -
метод
rotate_left,
который выполняет циклический сдвиг среза влево -
метод
rotate_right,
который выполняет циклический сдвиг среза вправо