-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTree.h
41 lines (34 loc) · 938 Bytes
/
Tree.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma once
#include<string>
#include<iostream>
#include <iomanip>
#include"Tools.h"
#include"queue.h"
using namespace std;
struct TreeNode
{
int data;
TreeNode* left;
TreeNode* right;
TreeNode(const int& value) : data(value), left(nullptr), right(nullptr) {};
};
struct Tree
{
TreeNode* root;
string fileName;
Tree();
~Tree();
void Allocation(TreeNode* node);
TreeNode* downTree(TreeNode* node, int value);
void TINSERT(int elem);
bool TSEARCH(int elem);
TreeNode* RightOrLeft(TreeNode* node, int& value);
int countNodes(TreeNode* node);
bool TISCOMPLETE();
bool isComplete(TreeNode* node, int index, int numberNodes);
int height(TreeNode* node);
void PRINT(TreeNode* root, int space = 0);
TreeNode* findNode(TreeNode* node, const int& value);
DL<DL<int>> getLevels();
void LoadLevel(TreeNode* node, int level, DL<int>& levelValues);
};