| tsort.1 - sbase - suckless unix tools | |
| git clone git://git.suckless.org/sbase | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| tsort.1 (1417B) | |
| --- | |
| 1 .Dd February 16, 2016 | |
| 2 .Dt TSORT 1 | |
| 3 .Os sbase | |
| 4 .Sh NAME | |
| 5 .Nm tsort | |
| 6 .Nd topological sort | |
| 7 .Sh SYNOPSIS | |
| 8 .Nm | |
| 9 .Op Ar file | |
| 10 .Sh DESCRIPTION | |
| 11 .Nm | |
| 12 topologically sorts a graph. | |
| 13 The graph is read either from | |
| 14 .Ar file | |
| 15 or from standard input. | |
| 16 The result is not optimized for any particular usage. | |
| 17 Loops are detected and reported to standard error, but does not stop the | |
| 18 sort. | |
| 19 .Pp | |
| 20 The input is a list of edges (vertex pairs), where | |
| 21 the edge is directed from the first vertex to the | |
| 22 second vertex. | |
| 23 .Sh OPTIONS | |
| 24 None. | |
| 25 .Sh EXIT STATUS | |
| 26 .Bl -tag -width Ds | |
| 27 .It 0 | |
| 28 The graph as successfully sorted. | |
| 29 .It 1 | |
| 30 The graph as successfully sorted, but contained loops. | |
| 31 .It > 1 | |
| 32 An error occurred. | |
| 33 .El | |
| 34 .Sh EXAMPLES | |
| 35 .Bd -literal -offset left | |
| 36 The input | |
| 37 | |
| 38 a a | |
| 39 a b | |
| 40 a c | |
| 41 a c | |
| 42 a d | |
| 43 b c | |
| 44 c b | |
| 45 e f | |
| 46 | |
| 47 or equivalently | |
| 48 | |
| 49 a a a b a c a c a d | |
| 50 b c c b e f | |
| 51 | |
| 52 represents the graph | |
| 53 | |
| 54 ┌─┐ | |
| 55 ↓ │ | |
| 56 ┏━━━┓ | |
| 57 ┌──────┃ a ┃──────┐ | |
| 58 │ ┗━━━┛ │ | |
| 59 │ │ │ │ | |
| 60 ↓ ↓ ↓ ↓ | |
| 61 ┏━━━┓───→┏━━━┓ ┏━━━┓ | |
| 62 ┃ b ┃ ┃ c ┃ ┃ d ┃ | |
| 63 ┗━━━┛←───┗━━━┛ ┗━━━┛ | |
| 64 | |
| 65 ┏━━━┓ ┏━━━┓ | |
| 66 ┃ e ┃───→┃ f ┃ | |
| 67 ┗━━━┛ ┗━━━┛ | |
| 68 .Ed | |
| 69 .Sh STANDARDS | |
| 70 POSIX.1-2013. |