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

1 Answer

0 votes
fn shift_left(mut vec: Vec<i32>) -> Vec<i32> {
    if vec.is_empty() {
        return vec;
    }
    let first = vec.remove(0); // remove the first element
    vec.push(first); // optional: append it to the end
    vec
}

fn main() {
    let arr = vec![0, 1, 2, 3, 4, 5];
    println!("Original: {:?}", arr);

    let shifted = shift_left(arr);
    println!("Shifted:  {:?}", shifted);
}

 
 
/*
run:
   
Original: [0, 1, 2, 3, 4, 5]
Shifted:  [1, 2, 3, 4, 5, 0]
   
*/
 

 



answered Jun 26, 2025 by avibootz
...