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

📄 main.cpp

📁 程序包括了平衡二叉树的查找,插入,删除,合并等操作
💻 CPP
字号:
#include <stdio.h>
#include "bstree.h"
#include <stdlib.h>

int main()
{
	int n,find=0,insert,del;
	bool taller;
	BSTree T=NULL,T2=NULL;
	ElemType e;
	int choose;
	while(1)
	{
		n = 0;
		printf("\n--------------------------------------------------------------------\n"
			   "    1、CreatAVL  -------- 构造平衡二叉树\n"
			   "    2、SearchAVL -------- 查找关键字(不进行插入操作)\n"
			   "    3、InsertAVL -------- 插入关键字\n"
			   "    4、DeleteAVL -------- 删除关键字\n"
			   "    5、PrintAVL  -------- 打印二叉树\n"
			   "    6、MergeAVL  -------- 合并两棵二叉树\n"
			   "    7、Exit      -------- 退出"
			   "\n--------------------------------------------------------------------\n");
		printf("\n■请选择要进行的操作:");
		fflush(stdin);
		scanf("%d",&choose);
		switch(choose)
		{
			case 1: 
					if(!CreatAVL(T,taller))    return 0;
					printf("\n");
					n = 0;
					PrintAVL(T,n);
					break;
			case 2:	
					find = 0;
					printf("\n■请输入要查找的关键字:  ");
					fflush(stdin);
					e=getchar();
					SearchAVL(T,e,find);
					if(find)
						printf("\n %c is in the BSTree \n",e);
					else
						printf("\n %c is not in the BSTree \n",e);
					break;
			case 3:	
					insert = 1;
					printf("\n■请输入要插入的关键字:  ");
					fflush(stdin);
					e=getchar();
					InsertAVL(T,e,taller,insert);
					if(insert)
						printf("\n  关键字插入成功\n\n");
					else
						printf("\n  关键字已经存在,插入失败\n");
					printf("\n操作结束后的二叉树为:\n\n");
					PrintAVL(T,n);
					break;
			case 4:	
					del = 1;
					printf("\n■请输入要删除的关键字:  ");
					fflush(stdin);
					e=getchar();
					DeleteAVL(T,e,taller,del);
					if(del)
						printf("\n  删除成功\n\n");
					else
						printf("\n  关键字不存在,删除操作失败\n\n");
					PrintAVL(T,n);
					break;
			case 5:	
					PrintAVL(T,n);
					break;
			case 6:
					insert = 1;
					printf("\n■输入要合并的两棵二叉树\n\n  ■构造第一棵二叉树:\n");
					if(!CreatAVL(T,taller))	return 0;
					printf("\n  ■构造第二棵二叉树:\n");
					if(!CreatAVL(T2,taller)) 	return 0;
					if(!MergeAVL(T,T2,taller,insert))	return 0;
					printf("\n■合并后的二叉树为:\n\n");
					n=0;
					PrintAVL(T,n);
					break;

			case 7:
					DestroyAVL(T);
					printf("\n操作结束并退出\n\n");
					exit(0);
			default:
					break;
		}
	}
	return 0;
}

⌨️ 快捷键说明

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