[][src]Function gamma::selection::components

pub fn components<'a, G: Graph>(graph: &'a G) -> Components<'a, G>

Returns the connected components of a Graph as an Adjacency.

use std::convert::TryFrom;
 
use gamma::graph::{ Graph, Error, DefaultGraph };
use gamma::selection::components;
 
fn main() -> Result<(), Error> {
    let graph = DefaultGraph::try_from(vec![
        vec![ 1 ],
        vec![ 0 ],
        vec![ ]
    ])?;
    let mut c1 = DefaultGraph::new();
    let mut c2 = DefaultGraph::new();
 
    c1.add_node(0)?;
    c1.add_node(1)?;
    c1.add_edge(0, 1)?;
 
    c2.add_node(2)?;
 
    assert_eq!(components(&graph).collect::<Vec<_>>(), vec![ c1, c2 ]);
 
    Ok(())
}