dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
pub fn to_adjlist(
    v_size: usize,
    edges: Vec<(usize, usize)>,
) -> Vec<Vec<usize>> {
    let mut g = vec![vec![]; v_size];

    for (u, v) in edges.into_iter() {
        g[u].push(v);

        g[v].push(u);
    }

    g
}

#[cfg(test)]

mod tests {

    use super::*;

    #[test]

    fn test() {
        let n = 4;

        let edges = vec![(0, 2), (2, 1), (3, 0), (2, 3)];

        assert_eq!(
            to_adjlist(n, edges),
            vec![vec![2, 3], vec![2], vec![0, 1, 3], vec![0, 2]]
        );
    }
}