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

📄 main.cpp

📁 中序线索化二叉树 实验<一>:构造二叉树
💻 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 + -