Skip to main content

sort_vertices_by_degree

Function sort_vertices_by_degree 

Source
pub fn sort_vertices_by_degree(
    graph: &Graph,
    mode: DegreeMode,
    order: SortOrder,
) -> IgraphResult<Vec<VertexId>>
Expand description

Return vertex IDs sorted by their degree.

  • mode: which degree to use (Out, In, or All). For undirected graphs all modes are equivalent.
  • order: ascending (smallest degree first) or descending.

Returns a Vec<VertexId> containing all vertex IDs in the requested order. Ties are broken by vertex ID (stable sort).

ยงExamples

use rust_igraph::{Graph, sort_vertices_by_degree, DegreeMode, SortOrder};

// Star: center vertex has degree 3, leaves have degree 1.
let mut g = Graph::with_vertices(4);
g.add_edge(0, 1).unwrap();
g.add_edge(0, 2).unwrap();
g.add_edge(0, 3).unwrap();
let sorted = sort_vertices_by_degree(&g, DegreeMode::All, SortOrder::Descending).unwrap();
assert_eq!(sorted[0], 0); // highest degree vertex first