binary_tree 0.0.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/binary_tree.rb +9 -7
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af13630aedbfafdaa8977f72f687e9741ad6a929a294ea81d6107903c1c1387f
4
- data.tar.gz: 0c8d6ca0477b11e84bfea0ee325db8d6e9774d2936e262d38dc995ddd154779f
3
+ metadata.gz: 0a73fe5ef37eeaa90d7c7efff8c1c0d4663f6e9daf07637ba692565c29884d96
4
+ data.tar.gz: cf740fedf52fb09de5a892c91e8ed041853173d4920993fdd3760d61ca124ddb
5
5
  SHA512:
6
- metadata.gz: 3cbe7b5bd9b6a2f7db0a9579bd08d9bbb54f11964475a4aba3e8a795d2776fcc179ae41d0a021482620d7d08b77e6f9bf127e02dc89a5917da168bd1ef3e29cc
7
- data.tar.gz: 1de26b3d8bfba6affc68f7b20d58b02b1414480d3f3b9ce5faf04bed6901c147d2f6ef161418eada8ff0d45d595ca3455597829f4f69f86e9bb3480f1828ff2f
6
+ metadata.gz: de486b01b6696c1bf78efccc4b63fc2017ff71afd54b9b178d5e0cf791e6d3902e10e264730bbf566e221cff8d91ca7b14270c6cdebac5a50387495faae4f27b
7
+ data.tar.gz: 527d264a819c51f6d5cb8f1bbd7d685aba90e172c264ad41232d2925013a4db1a9e4d7827ca33715de757276a81b5bd46eabe61aed63e82d21bff623e67a2843
@@ -1,7 +1,7 @@
1
1
  class BinaryTree
2
2
  attr_reader :data
3
- attr_accessor :left, :right
4
- @@root = nil
3
+ attr_accessor :left, :right, :root
4
+
5
5
  def initialize(data=nil)
6
6
  @data = data
7
7
  @left = nil
@@ -12,8 +12,8 @@ class BinaryTree
12
12
  def insert(node, data)
13
13
  q = []
14
14
  if node == nil
15
- @@root = BinaryTree.new(data)
16
- return
15
+ @root = BinaryTree.new(data)
16
+ return @root
17
17
  end
18
18
  q.push(node)
19
19
  while (!q.empty?)
@@ -31,6 +31,7 @@ class BinaryTree
31
31
  q.push(node.right)
32
32
  end
33
33
  end
34
+ return node
34
35
  end
35
36
 
36
37
  # print data in inorder form (left, root, right)
@@ -63,16 +64,17 @@ class BinaryTree
63
64
  puts "#{node.data}"
64
65
  end
65
66
 
67
+ # For test
66
68
  def test_binary_tree
67
69
  for i in 1..5 do
68
70
  BinaryTree.new.insert(@@root, rand(100))
69
71
  end
70
72
  puts "inorder : "
71
- inorder(@@root)
73
+ inorder(@root)
72
74
  puts "preorder : "
73
- preorder(@@root)
75
+ preorder(@root)
74
76
  puts "postorder : "
75
- postorder(@@root)
77
+ postorder(@root)
76
78
  end
77
79
 
78
80
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binary_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - shubham jain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-11 00:00:00.000000000 Z
11
+ date: 2020-03-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A simple binary tree gem
14
14
  email: shubhammpdgj@gmail.com