How to shift elements of a vector to the right by one position in Rust

1 Answer

0 votes
fn shift_right(arr: &mut Vec<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 print_array(arr: &Vec<i32>) {
    for num in arr {
        print!("{} ", num);
    }
    println!();
}

fn main() {
    let mut numbers = vec![0, 1, 2, 3, 4, 5, 6];
    
    shift_right(&mut numbers);
    
    print_array(&numbers);
}

 
 
/*
run:
   
6 0 1 2 3 4 5 
   
*/
 

 



answered Jun 27, 2025 by avibootz
...