How to cyclically rotate the elements of an int array right by one in Rust

1 Answer

0 votes
fn rotate_right(arr: &mut [i32]) {
    if arr.is_empty() {
        return;
    }
    
    let last = arr[arr.len() - 1];
    
    for i in (1..arr.len()).rev() {
        arr[i] = arr[i - 1];
    }
    
    arr[0] = last;
}

fn main() {
    let mut arr = [5, 0, 3, 7, 8];

    rotate_right(&mut arr);
    
    println!("Rotated array: {:?}", arr);
}

  
    
/*
run:

Rotated array: [8, 5, 0, 3, 7]
  
*/

 



answered Oct 7, 2024 by avibootz
...