📄 1and21.cpp
字号:
#include <iostream>
#include "BinaryTree.h"
using namespace std;
BinaryTreeNode <int> * creat()
{
int e;
cin >>e;
if(e==0)
{
return NULL;
}
return new BinaryTreeNode <int> (e);
}
template <class T>
void print(BinaryTreeNode <T> *p)
{
cout <<p->GetD()<<" ";
}
void menu()
{
cout <<"★★★★★★★★★★★★★★★★★★★★★★★"<<endl;
cout <<"★ ★"<<endl;
cout <<"★ 1.创建二叉树 2.二叉树是否为空 ★"<<endl;
cout <<"★ 3.先序遍历 4.中序遍历 5.后序遍历 ★"<<endl;
cout <<"★ 6.层次遍历 7.清除二叉树 0.结束 ★"<<endl;
cout <<"★ ★"<<endl;
cout <<"★ ★"<<endl;
cout <<"★★★★★★★★★★★★★★★★★★★★★★★"<<endl;
cout <<"请输入选择:";
}
void oper()
{
BinaryTree <int> bt;
BinaryTree <int> btn;
int oper;
do
{
system("cls");
menu();
cin >>oper;
cout <<endl;
switch(oper)
{
case 1:
cout <<"按前序创建二叉树,空节点请输入0。"<<endl;
cout <<"现在输入数据:";
bt.PreCreat(creat);
break;
case 2:
if(bt.IsEmpty())
cout <<"二叉树为空!"<<endl;
else
cout <<"二叉树非空!"<<endl;
break;
case 3:
bt.PreOrder(print);//注:将函数名字传入即可,此时函数作参数用
cout <<endl;
break;
case 4:
bt.InOrder(print);
cout <<endl;
break;
case 5:
bt.PostOrder(print);
cout <<endl;
break;
case 6:
bt.LevelOrder(print);
cout <<endl;
break;
case 7:
bt.ClearTree();
cout <<"已经执行清除二叉树操作。"<<endl;
break;
}
system("pause");
}
while (oper!=0);
return;
}
int main()
{
cout <<"现在演示int型操作,请输入int型数据。"<<endl;
oper();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -