[ create a new paste ] login | about

Link: http://codepad.org/c0XTp38K    [ raw code | fork ]

Ruby, pasted on Dec 31:
class Node
  attr_accessor :value, :left, :right
  def initialize(value=nil, left=nil, right=nil)
    @value, @left, @right = value, left, right
  end
end

def generate(n)
  if n == 0
    yield Node.new(n, nil, nil)
  else
    for this in 1..n
      for left in generate(this-1)
        for right in generate(n-this)
          yield(Node.new(this, left, right))
        end
      end
    end
  end
end

# example use
generate(2) {|t| treeprint(t) }


Create a new paste based on this one


Comments: