Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > tsortライブラリ > TSortモジュール > tsort
tsort -> Array
[permalink][rdoc]頂点をトポロジカルソートして得られる配列を返します。この配列は子から親に向かってソートされています。すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
sorted = {1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
p sorted #=> [3, 2, 1, 4]
[SEE_ALSO] TSort.tsort