dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
pub fn argsort<T: Ord>(a: &[T]) -> Vec<usize> {
    let mut idx: Vec<usize> = (0..a.len()).collect();

    idx.sort_by_key(|&i| &a[i]);

    idx
}

#[cfg(test)]

mod tests {

    use super::*;

    #[test]

    fn test() {
        let a = vec![3, -1, 0, 5];

        assert_eq!(argsort(&a), [1, 2, 0, 3]);
    }
}