📄 main.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 + -