完全模板化

This commit is contained in:
2024-11-22 18:09:17 +08:00
parent aff7b6b84e
commit 89152214b3
2 changed files with 73 additions and 10 deletions
+22 -9
View File
@@ -1,17 +1,17 @@
/*
* 二叉树采用二叉链存储结构存放,结点值为int 类型,设计一个递归算法求二叉树 bt 中所有叶子结点值之和
*/
#include<iostream>
#include"BiTree.h"
#include <iostream>
#include "BiTree.h"
using namespace std;
BiTree* createTreeFromArray(const int* values, int size)
BiTree<int>* createTreeFromArray(const int* values, int size)
{
BiTree* root = nullptr;
BiTree<int>* root = nullptr;
for (int i = 0; i < size; ++i)
{
BiTree::insertNode(root, values[i]);
BiTree<int>::insertNode(root, values[i]);
}
return root;
}
@@ -21,9 +21,22 @@ int main()
int testValues[] = {7, 3, 10, 1, 5, 9, 12};
int size = sizeof(testValues) / sizeof(testValues[0]);
BiTree* root = createTreeFromArray(testValues, size);
BiTree<int>* root = createTreeFromArray(testValues, size);
if (root)
{
cout << "树结构为:" << endl;
cout << root->toString() << endl;
cout << "叶子节点数据总和: " << BiTree<int>::sum_leaf(root) << endl;
root->destroy();
delete root;
}
else
{
cout << "树为空。" << endl;
}
cout << "树结构为" << endl << root->toString() << endl;
cout << "叶子节点数据总和: " << BiTree::sum_leaf(root) << endl;
return 0;
}