-
Notifications
You must be signed in to change notification settings - Fork 1
/
nodeBT.cpp
103 lines (90 loc) · 1.96 KB
/
nodeBT.cpp
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include "nodeBT.hpp"
nodeBT::nodeBT()
{
limit = new double;
name = new string;
M = new macierz(2,2);
*limit = 0;
*name->insert(name->begin(),2,'X');
edge.reserve(2);
left = nullptr;
right = nullptr;
}
nodeBT::nodeBT(macierz& _M)
{
limit = new double;
name = new string;
M = new macierz(_M);
*limit = 0;
*name->insert(name->begin(),2,'X');
edge.reserve(2);
left = nullptr;
right = nullptr;
}
nodeBT::nodeBT(nodeBT & coppy){
limit = new double;
name = new string;
M = new macierz(*coppy.M);
edge.swap(coppy.edge);
*limit = *coppy.limit;
*name = *coppy.name;
left = coppy.left;
right = coppy.right;
}
nodeBT::nodeBT(vector<vector<double>> &Tab)
{
limit = new double;
name = new string;
M = new macierz(Tab);
edge.reserve(2);
*limit = 0;
*name->insert(name->begin(),2,'X');
left = nullptr;
right = nullptr;
}
nodeBT::~nodeBT()
{
delete limit;
delete name;
left = nullptr;
right = nullptr;
delete left;
delete right;
}
nodeBT::nodeBT(int& row, int& col, double& _limit,macierz &_M){
limit = new double;
name = new string;
M = new macierz(_M);
edge.push_back(row);
edge.push_back(col);
*limit = _limit;
name->push_back(M->nameN[row]);
name->push_back(M->nameM[col]);
left = nullptr;
right = nullptr;
}
void nodeBT::set(int& row, int& col, double& ogr){
*limit = ogr;
name->clear();
name->push_back(M->nameN[row]);
name->push_back(M->nameM[col]);
left = nullptr;
right = nullptr;
}
void nodeBT::setLimit(double& _limit){
*limit = _limit;
}
void nodeBT::show(int tabs,bool node){
tabsInsert(tabs);
if(node){
cout << "|" << setw(3) << *name << setw(3) << *limit << "|";
}
else{
cout <<"|" << setw(3) << *name << setw(3) << *limit << "|";
}
}
void nodeBT::tabsInsert(int amount){
for (int i=0;i < amount ; i++ ) {
cout << "\t";
}
}