A.56 library(ugraphs): Graph manipulation library
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(ugraphs): Graph manipulation library
          • vertices/2
          • vertices_edges_to_ugraph/3
          • add_vertices/3
          • del_vertices/3
          • add_edges/3
          • ugraph_union/3
          • del_edges/3
          • edges/2
          • transitive_closure/2
          • transpose_ugraph/2
          • compose/3
          • top_sort/2
          • top_sort/3
          • neighbors/3
          • neighbours/3
          • connect_ugraph/3
          • complement/2
          • reachable/3
    • Packages
Availability::- use_module(library(ugraphs)).(can be autoloaded)
Source[semidet]top_sort(+Graph, -Sorted)
[semidet]top_sort(+Graph, -Sorted, ?Tail)
Sorted is a topological sorted list of nodes in Graph. A toplogical sort is possible if the graph is connected and acyclic. In the example we show how topological sorting works for a linear graph:
?- top_sort([1-[2], 2-[3], 3-[]], L).
L = [1, 2, 3]

The predicate top_sort/3 is a difference list version of top_sort/2.