c6-1.h

来自「该程序实现了对二叉树的各种遍历」· C头文件 代码 · 共 44 行

H
44
字号
 // c6-1.h 二叉树的顺序存储结构。在教科书第126
 #define MAX_TREE_SIZE 100 // 二叉树的最大结点数
 //typedef TElemType SqBiTree[MAX_TREE_SIZE]; // 0号单元存储根结点
 struct position // 加
 {
   int level,order; // 结点所在的层,在该层的序号(按满二叉树计算)
 };
 template<class T>
 class SqBiTree
{
 private:
 T SQBiTree[MAX_TREE_SIZE];
 public:
 SqBiTree();
 ~SqBiTree();
 void CreateBiTree();
 void ClearBiTree();
 bool BiTreeEmpty();
 int BiTreeDepth();
 bool Root(T &e);
 T Value(position e);
 bool Assign(position e,T value);
 T Parent(T e);
 T LeftChild(T e);
 T RightChild(T e);
 T LeftSibling(T e);
 T RightSibling(T e);
 bool DeleteChild(position p,int LR);
 void(*VisitFunc)(T); 
 void PreTraverse(int e);
 void PreOrderTraverse(void(*Visit)(T));
 void InTraverse(int e);
 void InOrderTraverse(void(*Visit)(T));
 void PostTraverse(int e);
 void PostOrderTraverse(void(*Visit)(T));
 void LevelOrderTraverse(void(*Visit)(T));
 void visit(T e);
 void Print();
 friend void Move(SqBiTree<int> &c,int j,SqBiTree<int> &t,int i);
 friend void Move(SqBiTree<char> &c,int j,SqBiTree<char> &t,int i);
 friend void InsertChild(SqBiTree<int> &t,int p,int LR,SqBiTree<int> &c);
 friend void InsertChild(SqBiTree<char> &t,char p,int LR,SqBiTree<char> &c);
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?