algs 0.1.2

Solutions for various algorithms, made as generic as possible
Documentation
fn swap(numbers: &mut Vec<i32>, i: usize, j: usize) {
    let temp = numbers[i];
    numbers[i] = numbers[j];
    numbers[j] = temp;
}
pub fn insertion_sorter(numbers: &mut Vec<i32>) {
    for i in 1..numbers.len() {
        let mut j = i;
        while j > 0 && numbers[j - 1] > numbers[j] {
            swap(numbers, j, j - 1);
            j = j - 1;
        }
    }
}

#[test]
fn test_insertion_sort() {
    let mut numbers: Vec<i32> = vec![21, 54, 55, 11, 25, 4, 5];
    insertion_sorter(&mut numbers);
    for i in 0..(numbers.len() - 1) {
        assert!(numbers[i] <= numbers[i + 1]);
    }
}