📄 function.h
字号:
void prompt()// 友好提示语句
{
cout<<"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"<<endl;
cout<<"┃ ★☆★☆★ 欢迎来到二叉树的世界 ★☆★☆★ ┃"<<endl;
cout<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"<<endl;
cout<<endl<<"请您选择建立二叉树的方法:"<<endl<<endl;
cout<<"(1):根据二叉树的前序序列建树(其中无子节点用\"#\"表示)."<<endl;
cout<<"(2):根据二叉树的前序序列和中序序列建树."<<endl;
}
//-------------------------------------------------------------------------------------------
void Select1()// 根据指定的前序序列建树
{
int select=0;
bool flag=false;
char preorder[MAX_BINARYTREE_SIZE];
cout<<"请输入二叉树的前序序列:";
cin>>preorder;
BinaryTree<char> BT(preorder);
do
{
cout<<endl<<"请从菜单中选出您想执行的操作: "<<endl<<endl;
//供用户选择的操作如下:
cout<<"(1):中序遍历二叉树(递归法)"<<endl;
cout<<"(2):中序遍历二叉树(非递归法)"<<endl;
cout<<"(3):判断中序遍历递归法和非递归法遍历结果是否相同(请先确保您已经分别用递归法和非递归法中序遍历过二叉树)"<<endl;
cout<<"(4):返回上一级菜单"<<endl;
cout<<"(5):退出程序"<<endl;
cout<<endl<<"您的选择是: ";
cin>>select;
cout<<endl;
switch(select)
{
case 1: cout<<"中序递归遍历二叉树的结果为:";
BT.recursiveInorder();
cout<<endl;
break;
case 2: cout<<"中序非递归遍历二叉树的结果为:";
BT.nonrecursiveInorder();
cout<<endl;
break;
case 3: flag=BT.testTraverse();
if(flag)
cout<<"中序遍历递归法和中序遍历非递归法遍历结果相同.";
else
cout<<"中序遍历递归法和中序遍历非递归法遍历结果不相同.";
cout<<endl;
break;
case 4: break;
case 5: cout<<"请按任意键退出本程序,欢迎下次继续使用!"<<endl<<endl;
exit(1);
default:cout<<"请输入合适的序号"<<endl;
}
}while(select!=4);
}
//----------------------------------------------------------------------------------------
void Select2()// 根据指定的前序序列和中序序列建树
{
int select;
bool flag=false;
char preorder[MAX_BINARYTREE_SIZE];
cout<<"请输入二叉树的前序序列:";
cin>>preorder;
char inorder[MAX_BINARYTREE_SIZE];
cout<<"请输入二叉树的中序序列:";
cin>>inorder;
BinaryTree<char> BT(preorder,inorder);
do
{
cout<<endl<<"请从菜单中选出您想执行的操作: "<<endl<<endl;
//供用户选择的操作如下:
cout<<"(1):中序遍历二叉树(递归法)"<<endl;
cout<<"(2):中序遍历二叉树(非递归法)"<<endl;
cout<<"(3):判断中序遍历递归法和非递归法遍历结果是否相同(请先确保您已经分别用递归法和非递归法中序遍历过二叉树)"<<endl;
cout<<"(4):返回上一级菜单"<<endl;
cout<<"(5):退出程序"<<endl;
cout<<endl<<"您的选择是: ";
cin>>select;
cout<<endl;
switch(select)
{
case 1: cout<<"中序递归遍历二叉树的结果为:";
BT.recursiveInorder();
cout<<endl;
break;
case 2: cout<<"中序非递归遍历二叉树的结果为:";
BT.nonrecursiveInorder();
cout<<endl;
break;
case 3: flag=BT.testTraverse();
if(flag)
cout<<"中序遍历递归法和中序遍历非递归法遍历结果相同.";
else
cout<<"中序遍历递归法和中序遍历非递归法遍历结果不相同.";
cout<<endl;
break;
case 4: break;
case 5: cout<<"请按任意键退出本程序,欢迎下次继续使用!"<<endl<<endl;
exit(1);
default:cout<<"请输入合适的序号"<<endl;
}
}while(select!=4);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -