ruby binary_search_tree.rb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby binary_search_tree.rb相关的知识,希望对你有一定的参考价值。

class BST
  attr_accessor :data, :left, :right

  def initialize(data)
    @data = data
  end

  def insert(data)
    if data <= self.data
      do_insert("left", data)
    else
      do_insert("right", data)
    end
  end

  def do_insert(side, data)
    if self.send(side)
      self.send(side).insert(data)
    else
      self.send("#{side}=",BST.new(data))
    end
  end

  def each(&block)
    self.left.each(&block) if self.left
    yield data
    self.right.each(&block) if self.right
  end
end

以上是关于ruby binary_search_tree.rb的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 25 岁了!Ruby 之父说 Ruby 3 有望 3 倍提速

如何学习ruby?Ruby学习技巧分享

ruby Ruby脚本,看看是否用openssl编译了ruby

什么是ruby?

ruby和ruby ee

ruby入门知识:了解ruby历史及特性