Facebook
From Obese Bat, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 211
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Node {
  6. private:
  7.         int v;
  8.         Node* left_node;
  9.         Node* right_node;
  10.         Node* parent_node;
  11. public:
  12.         Node(int v, Node* l, Node* r) {
  13.                 this->v = v;
  14.                 left_node = l;
  15.                 right_node = r;
  16.                 parent_node = NULL;
  17.         }
  18.         int value() {
  19.                 return this->v;
  20.         };
  21.         Node* left() {
  22.                 return left_node;
  23.         };
  24.         Node* right() {
  25.                 return right_node;
  26.         };
  27.         Node* parent() {
  28.                 return parent_node;
  29.         };
  30.         void setValue(int v) {
  31.                 this->v = v;
  32.         };
  33.         void setLeft(Node* l) {
  34.                 left_node = l;
  35.         };
  36.         void setRight(Node* r) {
  37.                 right_node = r;
  38.         };
  39.         void setParent(Node* p) {
  40.                 parent_node = p;
  41.         };
  42. };
  43.  
  44. class Tree {
  45. private:
  46.         Node* root;
  47.  
  48.         bool empty(Node* n) {
  49.                 if(!n) return true;
  50.                 return false;
  51.         };     
  52.         void preorder(Node* n);
  53.         void inorder(Node* n);
  54.         void postorder(Node* n);
  55. public:
  56.         Tree();                 //tworzy puste drzewo
  57.         Tree(Node* r);
  58.         bool empty();           //zwraca prawdę gdy drzewo jest puste
  59.         void preorder();
  60.         void inorder();
  61.         void postorder();
  62.  
  63.  
  64. };
  65.  
  66. /*
  67. przykładowe drzewo do testów (bez ustawienia ojca):
  68.         Tree* t=new Tree(new Node(9, new Node(5, new Node(2, new Node(3, NULL, NULL), new Node(3, NULL, NULL)),
  69.         new Node(7, NULL, new Node(8,NULL, NULL))), new Node(12, new Node(10, NULL, new Node(11, NULL, NULL)), NULL)));
  70.  
  71. */
  72.  
  73. int main()
  74. {
  75.  
  76. }
  77.