资源简介

前序中序后序的递归遍历,游标类的非递归遍历,复制树,求深度,重载==,<<,!,交换子树,层次遍历都用模板实现了,栈和队列用的是以前自己写的模板 程序的输入是数组,通过二叉树的数组表示创建的链表表示的二叉树,输出没有做成树型输出,感觉太复杂,而是按照广义表的输出方式输出 写的时候感觉大部分的操作实现都很简单,不过非递归方式的后序和中序的游标遍历搞的比较头疼!

资源截图

代码片段和文件信息

/*
作者:臧旭
日期:2010/12/24
*/

#include “Tree.h“
#include “TreeNode.h“
#include “TreeIterator.h“

void main() {
char a[9] = {0 ‘A‘ ‘B‘ 0 ‘C‘ 0 0 0 ‘D‘};
Tree tA(a 9);
cout << “树A为 “ << tA << endl;
cout << endl;

char b[10] = {0 ‘A‘ ‘B‘ ‘C‘ ‘D‘ ‘E‘ ‘F‘ ‘G‘ ‘H‘ ‘I‘};
Tree tB(b 10);
cout << “树B为 “ << tB << endl;
cout << endl;

if (tA == tB) cout << “树A和树B相等“ << endl;
else cout << “树A和树B不相等“ << endl;

cout << endl;

char c[1] = {0};
Tree tC(c 1);
cout << “树C为 “ << tC << endl;

cout << endl;

cout << “将A树复制给C树:“ << endl;
tC.Copy(tA);
cout << “树C为 “ << tC << endl;

cout << endl;

cout << “将C树删除掉:“ << endl;
tC.Clear();
cout << “树C为 “ << tC << endl;

cout << endl;

cout << “将B树的左子树复制给树C“ << endl;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2942  2010-12-24 06:10  Stack.h

     文件       3152  2010-12-24 06:20  TreeIterator.h

     文件        806  2010-12-24 06:20  TreeNode.h

     文件       2434  2010-12-24 06:20  TreeNodeDrive.cpp

     文件       7658  2010-12-24 06:21  Tree.h

     文件       2830  2010-12-24 06:11  Queue.h

----------- ---------  ---------- -----  ----

                19822                    6


评论

共有 条评论