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

📄 打开这个.cpp

📁 这个是二叉树的19个功能演示! 初学者可以看看 希望可以交流交流
💻 CPP
字号:
#include "Tree.h"

void main()
{
	BiTree T,p;
	int choose;
	char e,P,LR,c;
	int k;
	system("color 1b");
    while(1)
	{
		Main_Face();
		printf("请选择操作:");
		scanf("%d",&choose);
		switch(choose)
		{
			case 1:
					printf("请输入二叉树:");
				    getchar();
				    InitBiTree(T);
					CreateBiTree(T);
					getchar();
					printf("\t【二叉树创建成功】");
					Clear();
					break;
			case 2:
					printf("请输入双亲结点:");
					getchar();
					scanf("%c",&P);
					printf("请输入要插的位置【L/R】");
					getchar();
					scanf("%c",&LR);
					printf("请输入该插入元素的值:");
					getchar();
					scanf("%c",&c);
					InsertChild(T,P,LR,c);
					Clear();
					break;
			case 3:
					printf("请输入双亲结点:");
					getchar();
					scanf("%c",&P);
					printf("请输入要删除的位置【L/R】");
					getchar();
					scanf("%c",&LR);
					DeleteChild(T,P,LR);
					printf("\t【删除成功】");
					Clear();
					break;
			case 4:
			        if(Root(T))
					{
						if(T->data==NULL)
						{
							printf("【根节点无数据】");
						}
						else
						{
							printf("【根节点是%c】",T->data);
						}
					}
					else
					{
						printf("【该树无根节点】");
					}
					Clear();
					break;
			case 5:
			        BiTreeEmpty(T);	
			        Clear();				
					break;
			case 6:
			        if(T->data==NULL)
			        {
			        	printf("【该树的深度是:0】");
			        }
			        else
			        {
						printf("【该树的深度是:%d】",PostTreeDepth(T));
			        }
			        Clear();
					break;
			case 7:
					printf("【先序遍历结果是】→");
					PreOrderTraverse(T);
					Clear();
					break;
			case 8:
					printf("【中序遍历结果是】→");
					InOrderTraverse(T);
					Clear();
			        break;
			case 9:
					printf("【后序遍历结果是】→");
					PostOrderTraverse(T);
					Clear();
					break;
			case 10:
					Leveltraverse(T);
		            Clear();
		            break;
		    case 11:
		    		k=0;
		    		printf("【竖向树状图】→\n");
					DisplayTree(T,k);
					DisplayTree1(T);
		            Clear();
		            break;
			case 12:
					printf("请输入要查找的结点:");
					getchar();
					scanf("%c",&e);			
					p=SearchLChild(T,e);
					if(p)
					{
						printf("【%c的左孩子是%c】",e,p->LChild->data);
					}
					else
					{
						printf("【该结点没有左孩子】");
					}	
					Clear();
									
					break;
			case 13:
					printf("请输入要查找的结点:");
					getchar();
					scanf("%c",&e);			
					SearchRChild(T,e);
					p=SearchRChild(T,e);
					if(p)
					{
						printf("【%c的右孩子是%c】",e,p->RChild->data);
					}
					else
					{
						printf("【该结点没有右孩子】");
					}
					Clear();
					break;
			case 14:
					printf("请输入要查找的结点:");
					getchar();
					scanf("%c",&e);	
					if(T->data==e)
					{
						printf("【根结点无左兄弟】");
						break;
					}	
					
					p=SearchLBrother(T,e);
					if(p)
					{
						printf("【%c的左兄弟是%c】",e,p->LChild->data);
					}
					else
					{
						printf("【该结点无左兄弟】");
					}
					Clear();
					
			break;
			case 15:
					printf("请输入要查找的结点:");
					getchar();
					scanf("%c",&e);	
					if(T->data==e)
					{
						printf("【根结点无左兄弟】");
						break;
					}		
					p=SearchRBrother(T,e);
					if(p)
					{
						printf("【%c的右兄弟是%c】",e,p->RChild->data);
					}
					else
					{
						printf("【该结点无右兄弟】");
					}
					Clear();
					break;
			case 16:
					printf("请输入要查找双亲的孩子结点:");
					getchar();
					scanf("%c",&e);
					p=SearchParent(T,e);
					if(p)
					{
						printf("【双亲是%c】",p->data);
					}
					else
					{
						printf("【无双亲】");
					}
					Clear();
					
					break;
			case 17:
					printf("请输入要查找祖先的孩子结点:");
					getchar();
					scanf("%c",&e);
					printf("祖先是:");
					ParentParent(T,e);
					Clear();
					break;
			case 18:
					printf("【所有的叶子节点是】");
					SearchTreeNode(T);
					Clear();
					break;
			case 19:
					DestroyTree(T);
					printf("【销毁成功】");
					printf("【谢谢您的使用!再见!】");
			        exit(0);
					break;
			case 0:
			        printf("【谢谢您的使用!再见!】");
			        exit(0);
					break;

		    default:
		            printf("【输入错误!请重新选择】");
		            Clear();
		            break;
			
		}
	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -