Rust ベクタ(可変配列)の後方から指定した数の要素を先頭に変更する

Rust ベクタ(可変配列)の後方から指定した数の要素を先頭に変更する

Rustで、ベクタ(可変配列)の後方から指定した数の要素を先頭に変更するサンプルコードを記述してます。「rotate_right」で可能です。Rustのバージョンは1.66.0を使用してます。

環境

  • OS windows11 home
  • rustc 1.66.0

後方から指定した数の要素を先頭に変更

後方から指定した数の要素を先頭に変更するには、「rotate_right」を使用します。

ベクタ.rotate_right(要素数);

実際に使用してみます。

fn main() {

    let mut v = vec![ 1, 2, 3, 4, 5 ];

    v.rotate_right(1);

    println!("{:?}", v); // [5, 1, 2, 3, 4]

    v = vec![ 1, 2, 3, 4, 5 ];

    v.rotate_right(2);

    println!("{:?}", v); // [4, 5, 1, 2, 3]

}

実行結果を見ると、変更されていることが確認できます。

最大値を超える

最大値を超えるとエラーとなります。

fn main() {

    let mut v = vec![ 1, 2, 3, 4, 5 ];

    v.rotate_right(6);
    // thread 'main' panicked at 'assertion failed: k <= self.len()'

    println!("{:?}", v);

}

実行結果