⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 function.h

📁 二叉树的数据结构的代码
💻 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 + -