competitive_programming_lib/Sorting/
insertion_sort.rs

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