1 2 3 4 5 6 7 8 9 10 11 12 13
pub fn insertion_sort(arr: &mut [i32]) { let n = arr.len(); for i in 1..n { let key = arr[i]; let mut j = i as isize - 1; while j >= 0 && arr[j as usize] > key { arr[(j + 1) as usize] = arr[j as usize]; j -= 1; } arr[(j + 1) as usize] = key; } }