From: Justin To Date: 2008-06-13T06:54:00+09:00 Subject: Re: Trie data structure class Trie attr_reader :value, :children attr_accessor :number_exists def initialize(value=nil, number_exists=false) @value = value @children = [] @number_exists = number_exists # BOOL end def <<(value) sub_trie = Trie.new(value) children << sub_trie return sub_trie end def each info = [value,number_exists, children] yield(info) @children.each do |child_node| child_node.each { |e| yield e } end end def output numberCollector = [] tempString= '' each do |x| tempString.concat(x[0].to_s) if(x[1]) numberCollector.push(tempString) if(x[2].size!=0) tempString='' else x[2].each end end end puts numberCollector end #-------------------------------------------------------------------------------------- def child_value?(value, node) if(node.children.empty?) return 'empty' # Return: 'empty', children[i], 'D.N.E.' else i=0; while(i