rust version

This commit is contained in:
Pagwin 2024-11-03 16:28:01 -05:00
parent 33e60cd710
commit 03e6f1ebf7
No known key found for this signature in database
GPG key ID: 81137023740CA260

27
main.rs Normal file
View file

@ -0,0 +1,27 @@
fn get_reversals_to_sort(arr: &[i32]) -> Vec<usize> {
let mut intermediate: Vec<i32> = arr.into();
let mut ret: Vec<usize> = Vec::new();
for i in (2..=intermediate.len()).rev() {
let max = intermediate[0..i].iter().max().unwrap();
let found = intermediate[0..i].iter().position(|e| e == max).unwrap();
let first_swap = found + 1;
let second_swap = i;
if first_swap != second_swap {
if first_swap > 1 {
ret.push(first_swap);
intermediate[0..first_swap].reverse();
}
ret.push(second_swap);
intermediate[0..second_swap].reverse();
}
}
ret
}
pub fn main() {
let vals = [12, 13, 11, 14];
let show = get_reversals_to_sort(&vals);
println!("{:?}", show);
}