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

📄 demo07_1.cpp

📁 该包是数据结构的实验软件,来源于合肥工业大学人工智能与数据挖掘实验室,用来实现数据结构.
💻 CPP
字号:
// demo07_1
#include "btrechar.h"

void pppp(bitre &t,bitre &pre,bptrlink &ptrpre,bptrlink &ptrt)
{
	if (t!=NULL){
		bptr_point_to(ptrpre, pre);			//用指示器指示前趋结点
		getch();
		bptr_point_to(ptrt, t);				//用指示器指示当前结点
		getch();
		if ((pre!=NULL) && (pre->rtag==1)){	//判断当前结点的前趋后继
			pre->rchild=t;					//前趋结点后继线索化
			rthread_point_to(pre,t);		//画出新线索
			getch();
		}
		if (t->lchild==NULL){				//判断当前结点前趋
			t->lchild=pre;
			t->ltag=1;						//当前结点前趋线索化
			dispint_atbnode_angle(1,t,150);	//在结点旁显示标志
			lthread_point_to(t,pre);		//画出新线索
			getch();
		}else{
			t->ltag=0;                 		//设置当前结点前趋标志
			dispint_atbnode_angle(0,t,150); //在结点旁显示标志
			getch();						//等待按键以继续}
	}
	    if (t->rchild==NULL)				//判断当前结点后继
		t->rtag=1;						//设置右标志
	    else t->rtag=0;
	    dispint_atbnode_angle(t->rtag,t,0);	//显示右标志值

	    pre=t;					//让前趋指针pre指示到当前结点
	    if (t->ltag==0)
		pppp(t->lchild,pre,ptrpre,ptrt);//左子树线索化
		if (t->rtag==0)
			pppp(t->rchild,pre,ptrpre,ptrt);//右子树线索化

	}
}

void main()
{
    bitre t,pre;
    int k;
    bptrlink ptrt,ptrpre;
    load_bitre_file(t,"bitres\\letter.cbt");//读入二叉树
    comput_bitre_card(t);		//计算显示坐标
    window(1,1,80,3);
//    create_bptr(ptrt, "T");
//    create_bptr(ptrpre, "pre");	//设置两个指示器的值
    disp_bitre("Pre",t);		//显示二叉树
    pre=NULL;
    pppp(t,pre,ptrpre,ptrt);	//调用算法线索化
    disp_thbitre("pre",t);		//显示结果
    Wait();
}

⌨️ 快捷键说明

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