📄 demo08_2.cpp
字号:
//Demo08_2
#include "trees.h"
#define maxsize 35 //定义最大结点数
struct node{ //在双亲结构中的树结点类型
char data; //数据字段
int parent; //双亲地址
};
struct Parent_stru{ //双亲存储结构
struct node Node_data[maxsize]; //结点数组
int Node_num; //结点个数
};
void trans(tree t,Parent_stru &pt,int Pnum)
{
if (t!=NULL){
visite_tnode(t,1); //指示当前结点
pt.Node_num++; //指示新的空位置
if (pt.Node_num>maxsize) //范围检查
Error_exit("Overflow");
//转换当前结点
pt.Node_data[pt.Node_num].data=t->data;
pt. Node_data[pt.Node_num].parent=Pnum;
trans(t->firstson,pt,pt.Node_num);//转换第一棵树
trans(t->nextbrother,pt,Pnum); //转换余下树组成的森林
}
}
void main()
{
tree t,p;
Parent_stru pt;
int i;
load_tree_file(t,"trees\\tree2.tre"); //读入树
display_tree("tree",t); //显示
pt.Node_num=0; //初始化
trans(t,pt,0); //调用算法进行转换
for(i=1;i<=pt.Node_num;i++)
printf("(%1d,%c,%d)",i,pt.Node_data[i].data, pt.Node_data[i].parent);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -