1,本文目标:
1,完成二叉树结点的存储结构设计;
2,设计要点:
1,BTree 为二叉树结构,每个结点最多只有两个后继结点;
2,BTreeNode 只包含 4 个固定的共有成员;
1,一个数据成员,两个指向后继结点的指针成员,指向父结点的指针成员;
2,包含指向父结点的在一些场合是非常方便的一件事;求叶结点到根结点经历那些结点;
3,实现树结构的所有操作(增,删,查,等);
1,容器类型的数据结构;
3,BTreeNode 的设计与实现:
4,BTree 的设计与实现:
5,BTree (二叉树结构)的实现架构:
6,二叉树结点 BTreeNode 的创建:
1 #ifndef BTREENODE_H 2 #define BTREENODE_H 3 4 #include "TreeNode.h" 5 6 namespace DTLib 7 { 8 9 template < typename T > 10 class BTreeNode : public TreeNode<T> 11 { 12 public: 13 BTreeNode<T>* left; 14 BTreeNode<T>* right; 15 16 BTreeNode() 17 { 18 left = NULL; 19 right = NULL; 20 } 21 22 static BTreeNode<T>* NewNode() // 工厂模式 23 { 24 BTreeNode<T>* ret = new BTreeNode<T>(); 25 26 if( ret != NULL ) // 申请堆空间成功 27 { 28 ret->m_flag = true; 29 } 30 31 return ret; 32 } 33 }; 34 35 } 36 37 #endif // BTREENODE_H