📄 main.cpp
字号:
#include"BinaryTree.h"
#include<fstream>
using namespace std;
void visit(BinTreeNode<char> *t){
cout<<t->data<<" ";
}
int main(){
void (* v)(BinTreeNode<char> *) = visit;
/*
ifstream fin("src.txt");
if (!fin) {
cerr<<"Can't open!"<<endl;
while(1)
cout<<"";
exit(1);
}
fin>>p;
cout<<"以从文件读入数据建立了二叉树"<<endl;
*/
BinTreeNode<char> *n0 = new BinTreeNode<char> ('D');
BinTreeNode<char> *n1 = new BinTreeNode<char> ('E');
BinTreeNode<char> *n2 = new BinTreeNode<char> ('F');
BinTreeNode<char> *n3 = new BinTreeNode<char> ('G');
BinTreeNode<char> *n4 = new BinTreeNode<char> ('H');
n0->leftChild = n1; n0->rightChild = n2;
n1->leftChild = n3; n1-> rightChild= NULL;
n2->leftChild = n4; n2->rightChild = NULL;
n3->leftChild = n3->rightChild = NULL;
n4->leftChild = n4->rightChild = NULL;
BinaryTree<char> p(n0,'@');
cout << "二叉树为:" << endl;
cout << " D " << endl;
cout << " / \ " << endl;
cout << " E F " << endl;
cout << " / / " << endl;
cout << " G H " <<endl;
cout << endl;
cout<<"后序遍历结果:"<<endl;
p.PostOrder(v);
cout<<endl;
cout<<"中序遍历结果:"<<endl;
p.InOrder(v);
cout<<endl;
cout<<"前序遍历结果:"<<endl;
p.PreOrder(v);
cout<<endl;
cout<<"层次序遍历结果:"<<endl;
p.levelOrder(v);
cout<<endl;
cout<<"树的高度:"<<endl;
cout<<p.Height()<<endl;
cout<<"树的大小:"<<endl;
cout<<p.Size()<<endl;
cout<<"根结点的数据:"<<endl;
BinTreeNode<char> *q=p.LeftChild(p.getRoot());
cout<<p.Parent(q)->data<<endl;
char t1;
cout<<"搜索元素:";
cin>>t1;
if (p.Find(t1)) cout<<t1<<"在树中"<<endl;
cout<<"测试完毕"<<endl;
while(1)//为了在类库说明文档中便于观察,加入这一句
cout<<"";
while(1)
cout<<"";
return 0;
}
/*
测试示例:
二叉树为:
D
/ \
E F
/ /
G H
后序遍历结果:
G E H F D
中序遍历结果:
G E D H F
前序遍历结果:
D E G F H
层次序遍历结果:
D E F G H
树的高度:
3
树的大小:
5
根结点的数据:
D
搜索元素: F
F在树中
测试完毕
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -