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

📄 main.cpp

📁 这些程序是本人学习数据结构时编的
💻 CPP
字号:
#include "AVLTree.h"
#include "AVLTree.cpp"

struct Data{
	int key;
	int data;

	bool operator < (Data& item){return key < item.key ? true : false;}
	bool operator > (Data& item){return key > item.key ? true : false;}
	bool operator == (Data& item){return key == item.key ? true : false;}
	Data(){};
	Data(Data& item){data = item.data ; key = item.key;};
	int GetData(){return data;}
	friend ostream& operator <<(ostream& out, Data& item)
	{
		out<<item.key;
		return out;
	};
	friend istream& operator >> (istream& in,Data& item)
	{
		in>>item.data>>item.key;
		return in;
	};

};

int main()
{
	Data data[30],REF;
	REF.data = -1;
	int i = 0,current_size =0 ,ref;
	AVLTree<Data> dog(REF);

	cout<<"输入数据以 -1 结束"<<endl;
	while(cin>>ref, ref != -1)
	{
		data[i].key = ref;
		data[i].data = current_size;
		current_size++;
		if (current_size == 30)
		{
			cout<<"数据已满"<<endl;
			exit(1);
		};
		i++;
	}

	for (i =0 ;i<current_size; i++)
		dog.Insert(data[i]);
	cout<<dog<<endl;

	cout<<"查找节点,以 -1结束"<<endl;
    cin>>i;
	while( i != -1 )
	{
		if (dog.Find(i) == -1)
			cout<<"查找不到节点"<<endl;
		else cout<<"该节点对应的值为 "<<dog.Find(i)<<endl;
		cin>>i;
	}

	cout<<"删除节点,以 -1 结束"<<endl;
	cin>>i;
	while( i != -1)
	{
		dog.Remove(i);
		cout<<dog<<endl;
		cin>>i;
	}

	cout<<"树的高度为:"<<dog.Height ()<<endl;
	return 1;
}

⌨️ 快捷键说明

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