Permuter deux éléments d'un vecteur
Bonjour.
Je me pose une question simple, quels sont les moyens de permuter deux éléments d'un vecteur. Classiquement on peut écrire ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
fn main() {
let mut tab = vec!["bli", "bla", "blou"];
println!("Avant permutation: {:#?}", &tab);
inter(&mut tab, 0usize, 2usize);
println!("Après permutation: {:#?}", &tab);
}
fn inter( tab: &mut Vec<&str>, idx_a: usize, idx_b: usize) {
let tmp = tab[ idx_a ];
tab[ idx_a ] = tab[ idx_b ];
tab[ idx_b ] = tmp;
} |
Quels sont les autres façons d'écrire ce genre de choses et si vous voyez des avantages ou faiblesse de telle ou telle méthode ?
PS : Je suis débutant en Rust.