Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > tsortライブラリ > TSortモジュール > tsort

instance method TSort#tsort

tsort -> Array

頂点をトポロジカルソートして得られる配列を返します。 この配列は子から親に向かってソートされています。 すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。

閉路が存在するとき、例外TSort::Cyclicを起こします。

[EXCEPTION] TSort::Cyclic:
閉路が存在するとき、発生します.

使用例

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]
module TSort