函数分离

This commit is contained in:
2024-11-20 22:08:57 +08:00
parent 857c54cde0
commit f2e5df0f0b
3 changed files with 22 additions and 19 deletions
+19
View File
@@ -24,3 +24,22 @@ int BiTree::sum_leaf(BiTree *bt) {
return sum_leaf(bt->left)+sum_leaf(bt->right); return sum_leaf(bt->left)+sum_leaf(bt->right);
} }
BiTree* BiTree::createNode(int data) {
BiTree* newNode = new BiTree();
newNode->data = data;
newNode->left = nullptr;
newNode->right = nullptr;
return newNode;
}
void BiTree::insertNode(BiTree*& bt, int value) {
if (bt == nullptr) {
bt = createNode(value);
} else {
if (value < bt->data) {
insertNode(bt->left, value);
} else if (value > bt->data) {
insertNode(bt->right, value);
}
}
}
+2
View File
@@ -12,6 +12,8 @@ public:
static bool is_empty(BiTree *bt); static bool is_empty(BiTree *bt);
static bool is_leaf(BiTree *bt); static bool is_leaf(BiTree *bt);
static int sum_leaf(BiTree *bt); static int sum_leaf(BiTree *bt);
static BiTree* createNode(int data);
static void insertNode(BiTree*& bt, int value);
}; };
+1 -19
View File
@@ -2,30 +2,12 @@
#include"BiTree.h" #include"BiTree.h"
using namespace std; using namespace std;
BiTree* createNode(int data) {
BiTree* newNode = new BiTree();
newNode->data = data;
newNode->left = nullptr;
newNode->right = nullptr;
return newNode;
}
void insertNode(BiTree*& bt, int value) {
if (bt == nullptr) {
bt = createNode(value);
} else {
if (value < bt->data) {
insertNode(bt->left, value);
} else if (value > bt->data) {
insertNode(bt->right, value);
}
}
}
BiTree* createTreeFromArray(const int* values, int size) { BiTree* createTreeFromArray(const int* values, int size) {
BiTree* root = nullptr; BiTree* root = nullptr;
for (int i = 0; i < size; ++i) { for (int i = 0; i < size; ++i) {
insertNode(root, values[i]); BiTree::insertNode(root, values[i]);
} }
return root; return root;
} }