《数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法5-8.docx》由会员分享,可在线阅读,更多相关《数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法5-8.docx(1页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、#includeusing namespace std;char path100; /路径数组,存储路径上每个结点的值 typedef struct BiTNode (char data;struct BiTNode *lchild,*rchild;BiTNode,*BiTree;void CreateBiTree(BiTree &T,char S rint &i)/先序建立二叉树if(Si=,#f) T=NULL; else (T=new BiTNode;T-data=Si;/叶子结点/将当前结点放入路径中/路径长度增1/递归遍历左子树/递归遍历右子树/恢复环境CreateBiTree(T-
2、lchildz S,+i); CreateBiTree(T-rchildz S,+ + i); ) void AllPath(BiTree Tz char path,int pathlen) /输出二叉树中从每个叶子结点到根结点的路径,pathlen初始为0 if (T!=NULL)if(T-lchild=NULL&T-rchild=NULL) (pathpathlen=T-data;for (int i=pathlen;i=0;i-) coutpathi;coutdata;pathlen+;AllPath(T-lchildz path,pathlen);AllPath(T-rchild,path,pathlen);pathlen;int main()(char S 100;cinS;int i=-l;BiTree T;CreateBiTree (T,S,+i);int pathlen-0;/初始化路径到根结点的长度为0AllPath(Tzpath,pathlen);return 0;)输入:ABC#DE#G#F#输出结果:CBAGEDBAFDBA