Sha256: 5abfa53a3889a3914da094a461725d24326f98b5a50fce54de42f9d9b16d094c
Contents?: true
Size: 662 Bytes
Versions: 222
Compression:
Stored size: 662 Bytes
Contents
class Bst VERSION = 1 attr_reader :data, :left, :right def initialize(data) @data = data @size = 1 end def insert(value) if value <= data insert_left(value) else insert_right(value) end @size += 1 end def each(&block) return enum_for(:each) { @size } unless block_given? left && left.each(&block) yield data right && right.each(&block) end private def insert_left(value) if left left.insert(value) else @left = Bst.new(value) end end def insert_right(value) if right right.insert(value) else @right = Bst.new(value) end end end
Version data entries
222 entries across 222 versions & 1 rubygems