From e4976b55b942a1e52c8dff55649795e30c0ff27a Mon Sep 17 00:00:00 2001
From: EDUARDO MAIA MACHADO <emm14@inf.ufpr.br>
Date: Wed, 7 Oct 2015 12:11:47 -0300
Subject: [PATCH] mehh

---
 bst               | Bin 15403 -> 19667 bytes
 include/bst_lib.h |   4 +++-
 lib/bst_lib.a     | Bin 11424 -> 11816 bytes
 obj/bst_lib.o     | Bin 10848 -> 11240 bytes
 src/bst_lib.cpp   |  20 +++++++++++---------
 src/main.cpp      |  12 ++++++++----
 6 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/bst b/bst
index e8d3bae141ce5eca528de1da897443cd5fc7bdec..0e3c369d4c667788070552a114119fcfdd9a2ce5 100755
GIT binary patch
literal 19667
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
K(veH^G6n#v{H-bg

literal 15403
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

diff --git a/include/bst_lib.h b/include/bst_lib.h
index e174a8d..ea0ac21 100644
--- a/include/bst_lib.h
+++ b/include/bst_lib.h
@@ -31,8 +31,10 @@ class Node{
 
 class Tree{
   public:
-    const Node *root;
+    Node *root;
     Node* createNode(int key, string truck, Node *father);
     bool insertNode(int key, string truck, Node *father, Node *current);
     Node* binarySearch(int key, Node *current);
 };
+
+extern Node nullNode;
\ No newline at end of file
diff --git a/lib/bst_lib.a b/lib/bst_lib.a
index 484b95738fdf068abadd705af671f782108a700d..e710adc24ebdba929d6daf0dc2190841880c5eff 100644
GIT binary patch
literal 11816
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
Pf+h}|M+rd_hs7@d{v`@8

delta 3981
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
V%;b-{;tH^iSO`cONu@E=NdOHQnV<jw

diff --git a/obj/bst_lib.o b/obj/bst_lib.o
index 2e8af15074e4149ab478669e7dba59e563592235..3f98ad5bf4906bff78aa5262671b3d57b94c5481 100644
GIT binary patch
literal 11240
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

delta 3926
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

diff --git a/src/bst_lib.cpp b/src/bst_lib.cpp
index 0aa8168..4f10ae3 100644
--- a/src/bst_lib.cpp
+++ b/src/bst_lib.cpp
@@ -50,17 +50,17 @@ Node* Node::getFatherNode(){
 // Funções de manipulação da árvore
 
 bool Node::printInOrder(){
-  if(this==NULL){
+  if(this==&nullNode){
     return 0;
   }
   std::cout << "printInOrder - 1" << std::endl;
-  if(leftNode!=NULL){
+  if(leftNode!=&nullNode){
     std::cout << "printInOrder - 2" << std::endl;
     leftNode->printInOrder();
   }
   std::cout << "printInOrder - 3" << std::endl;
   std::cout << " " << truck << key << " " << std::endl;
-  if(rightNode!=NULL){
+  if(rightNode!=&nullNode){
     std::cout << "printInOrder - 4" << std::endl;
     rightNode->printInOrder();
   }
@@ -74,18 +74,20 @@ Node* Tree::createNode(int key, string truck, Node *father){
   std::cout << "createNode - 2  " << key << std::endl;
   aux->setTruck(truck);
   std::cout << "createNode - 3" << std::endl;
-  aux->setLeftNode(NULL);
+  aux->setLeftNode(&nullNode);
   std::cout << "createNode - 4" << std::endl;
-  aux->setRightNode(NULL);
+  aux->setRightNode(&nullNode);
   std::cout << "createNode - 5" << std::endl;
   aux->setFatherNode(father);
   return aux;
 }
 
 bool Tree::insertNode(int key, string truck, Node *father, Node *current){
-  if(current==NULL){
+  if(current==&nullNode){
     std::cout << "insertNode - 1" << std::endl;
+    cout << current << endl;
     current=createNode(key, truck, father);
+    cout << current << endl;
   }else if(current->getKey() > key){
     std::cout << "insertNode - 2" << std::endl;
     insertNode(key, truck, current, current->getLeftNode());
@@ -100,9 +102,9 @@ bool Tree::insertNode(int key, string truck, Node *father, Node *current){
 }
 
 Node* Tree::binarySearch(int key, Node *current){
-  if(current==NULL){
+  if(current==&nullNode){
     std::cout << "binarySearch - 1" << std::endl;
-    return(NULL);
+    return(&nullNode);
   }else if(current->getKey() > key){
     std::cout << "binarySearch - 2" << std::endl;
     return(binarySearch(key,current->getLeftNode()));
@@ -113,5 +115,5 @@ Node* Tree::binarySearch(int key, Node *current){
     std::cout << "binarySearch - 4" << std::endl;
     return(current);
   }
-  return(NULL);
+  return(&nullNode);
 }
diff --git a/src/main.cpp b/src/main.cpp
index 30c3234..0f4d754 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -6,20 +6,24 @@
 
 using namespace std;
 
+Node nullNode;
+
 int main(int argc, char *argv[]) {
   Tree binaryTree;
   string input, auxTruck;
   int auxKey;
-
-  binaryTree.root=NULL;
+  
+  binaryTree.root=&nullNode;
 
   while (1) {
     cin >> input;
     if(input == "insert"){
       cin >> auxTruck;
       cin >> auxKey;
-      if(binaryTree.binarySearch(auxKey, binaryTree.root) == NULL){
-        binaryTree.insertNode(auxKey, auxTruck, NULL, binaryTree.root);
+      if(binaryTree.binarySearch(auxKey, binaryTree.root) == &nullNode){
+        cout << binaryTree.root << endl;
+        binaryTree.insertNode(auxKey, auxTruck, &nullNode, binaryTree.root);
+        cout << binaryTree.root << endl;
       }
     }else if(input == "print"){
       binaryTree.root->printInOrder();
-- 
GitLab