RosettaCodeData/Task/Topological-sort/J/topological-sort-4.j

9 lines
246 B
Text
Raw Permalink Normal View History

2015-11-18 06:14:39 +00:00
depSort=: monad define
parsed=. <@;:;._2 y
names=. {.&>parsed
depends=. (-.L:0"_1 #,.i.@#) names i.L:1 parsed
depends=. (~.@,&.> ;@:{L:0 1~)^:_ depends
assert.-.1 e. (i.@# e.S:0"0 ])depends
(-.&names ~.;parsed),names /: #@> depends
)