📄 main.cpp
字号:
#include<iostream.h>
#include<iomanip.h>
#include"ThreadedBTNode.cpp"
#include<stdlib.h>
void main(void)
{
char k='y';
int m,n;
ThreadedBTNode<int> s,s1;// 创建对象
BinaryTreeNode<int> *b[15];//创建对象
b[0]=s.MakeTree(15,NULL,NULL);b[1]=s.MakeTree(14,NULL,NULL);
b[2]=s.MakeTree(13,NULL,NULL);b[3]=s.MakeTree(12,NULL,NULL);
b[4]=s.MakeTree(11,NULL,NULL);b[5]=s.MakeTree(10,NULL,NULL);
b[6]=s.MakeTree(9,NULL,NULL);b[7]=s.MakeTree(8,NULL,NULL);
b[8]=s.MakeTree(7,b[1],b[0]);b[9]=s.MakeTree(6,b[3],b[2]);
b[10]=s.MakeTree(5,b[5],b[4]);b[11]=s.MakeTree(4,b[7],b[6]);
b[12]=s.MakeTree(3,b[9],b[8]);b[13]=s.MakeTree(2,b[11],b[10]);
b[14]=s.MakeTree(1,b[13],b[12]);
s.InorderThread(s.root,s1.root); //对树a中序线索化
cout<<"\n对称序遍历对称序线索化二叉树的结果为:";
//对称序遍历对称序线索化二叉树
s.ThreadInTravel(s.root);cout<<endl<<endl;
do{n=-1;
do{
cout<<"请输入原结点的数值: ";
cin>>m;
for(int i=0;i<15;i++)
{if(b[i]->data==m) n=i;}
if(n==-1) cout<<"没有此结点,请重新输入! \n";
}while(n==-1);
cout<<" "<<b[n]->data<<"----后继--->: ";
s.Inordernext(b[n],NULL);cout<<endl<<endl;//输出结果
cout<<"退出('y'/'Y'),其它任意键继续: ";cin>>k;cin.get();
}while(k!='Y'&&k!='y');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -