Kosaraju: Difference between revisions

Line 998:
fun assigns (xs, nil) = xs
| assigns (xs, n :: ns) =
if unmark n then
case assign (nil, (n :: nil) :: nil) of
let
nil => assigns (xs, ns)
| val x => assignssources (xn :: xs, ns)nil
val x = value n :: assign (nil, x)
in
assigns (x :: xs, ns)
end
else
nil => assigns (xs, ns)
*)
 
fun kosaraju xs = assigns (nil, visit (nil, Many xs :: nil))
Line 1,017 ⟶ 1,024:
val is = 0 :: nil
val ijs =
[0, 1, 2, 30, 43, 24, 0, 5, 7] ::
[0, 9, 10, 11, 12, 9, 11] ::
[1, 12] ::
Line 1,027 ⟶ 1,034:
 
val ns = make (16, is, ijs)
val xs = kosaraju ns</lang>
</lang>
{{out}}
<pre>
> xs;
val it = [[15], [1413, 1314], [9, 10, 11, 12, 9], [76, 87, 68], [5], [10, 31, 42, 23, 04]]: int list list
</pre>
 
Anonymous user