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

📄 example.cpp

📁 AVLTree的实现以及结点的增加删除和查找。
💻 CPP
字号:
#include <iostream.h>
#include <iomanip.h>
#include "AVLTree.h"


void main()
{
	char select;
	cout<<"选择avl树结点的类型: i:整数 c:单字符 f:浮点数 q:退出程序"<<endl;
	cin>>select;
	for(;(select!='i'&&select!='c'&&select!='f'&&select!='q');)//排除输入错误
	{
		cout<<"输入有错误"<<endl;
		cin>>select;
	}
	switch (select)
	{	case 'i':
		{
			avlTree<int> treeint;
			int val;char temp;
			cout<<"建立树:输入整形结点值,以-1000为结尾"<<endl;
			cin>>val;
			for(;val!=-1000;)
			{
				treeint.add(val);
				cin>>val;
			}
			cout<<"选择功能: a:增加结点,d:删除结点,f:查找结点,n:删除本树全部结点,v:显示当前树,q:退出程序"<<endl;
			do{
				cin>>select;
				for(;(select!='a'&&select!='d'&&select!='f'&&select!='n'&&select!='v'&&select!='q');)
				{
					cout<<"输入有错误"<<endl;
					cin>>select;
				}
				switch (select)
				{
					case 'a':cout<<"输入插入值:";cin>>val;treeint.add(val);break;
					case 'd':cout<<"输入删除值:";cin>>val;treeint.remove(val);break;
					case 'f':cout<<"输入查找值:";cin>>val;treeint.display(treeint.findValue(val));break;
					case 'n':cout<<"真的删除全部么(y/n)?";cin>>temp;if(temp=='y') treeint.deleteAllValue();else break;break;
					case 'v':treeint.display();break;
					case 'q':cout<<"Bye";return;
				}
				cout<<"选择功能: a:增加结点,d:删除结点,f:查找结点,n:删除本树全部结点,v:显示当前树,q:退出程序"<<endl;
			}while (select!='q');
			return;
		}
		case 'c':
		{
			avlTree<char> treeint;
			char val;char temp;
			cout<<"建立树:输入单个字符结点值,以 ~ 为结尾"<<endl;
			cin>>val;
			for(;val!='~';)
			{
				treeint.add(val);
				cin>>val;
			}
			cout<<"选择功能: a:增加结点,d:删除结点,f:查找结点,n:删除本树全部结点,v:显示当前树,q:退出程序"<<endl;
			do{
				cin>>select;
				for(;(select!='a'&&select!='d'&&select!='f'&&select!='n'&&select!='v'&&select!='q');)
				{
					cout<<"输入有错误"<<endl;
					cin>>select;
				}
				switch (select)
				{
					case 'a':cout<<"输入插入值:";cin>>val;treeint.add(val);break;
					case 'd':cout<<"输入删除值:";cin>>val;treeint.remove(val);break;
					case 'f':cout<<"输入查找值:";cin>>val;treeint.display(treeint.findValue(val));break;
					case 'n':cout<<"真的删除全部么(y/n)?";cin>>temp;if(temp=='y') treeint.deleteAllValue();else break;break;
					case 'v':treeint.display();break;
					case 'q':cout<<"Bye";return;
				}
				cout<<"选择功能: a:增加结点,d:删除结点,f:查找结点,n:删除本树全部结点,v:显示当前树,q:退出程序"<<endl;
			}while (select!='q');
			return;
		}
		case 'f':
		{
			avlTree<float> treeint;
			float val;char temp;
			cout<<"建立树:输入整形结点值,以-1000为结尾"<<endl;
			cin>>val;
			for(;val!=-1000;)
			{
				treeint.add(val);
				cin>>val;
			}
			cout<<"选择功能: a:增加结点,d:删除结点,f:查找结点,n:删除本树全部结点,v:显示当前树,q:退出程序"<<endl;
			do{
				cin>>select;
				for(;(select!='a'&&select!='d'&&select!='f'&&select!='n'&&select!='v'&&select!='q');)
				{
					cout<<"输入有错误"<<endl;
					cin>>select;
				}
				switch (select)
				{
					case 'a':cout<<"输入插入值:";cin>>val;treeint.add(val);break;
					case 'd':cout<<"输入删除值:";cin>>val;treeint.remove(val);break;
					case 'f':cout<<"输入查找值:";cin>>val;treeint.display(treeint.findValue(val));break;
					case 'n':cout<<"真的删除全部么(y/n)?";cin>>temp;if(temp=='y') treeint.deleteAllValue();else break;break;
					case 'v':treeint.display();break;
					case 'q':cout<<"Bye";return;
				}
				cout<<"选择功能: a:增加结点,d:删除结点,f:查找结点,n:删除本树全部结点,v:显示当前树,q:退出程序"<<endl;
			}while (select!='q');
			return;
		}
		case 'q':cout<<"Bye."<<endl;return;
	}
}

⌨️ 快捷键说明

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