您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C语言实现二叉树的前序遍历(递归)
C语言实现二叉树的前序遍历算法实现一:#includestdio.h#includestdlib.htypedefstructBiTNode//定义结构体{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;voidCreateBiTree(BiTree&T)//前序创建树{charch;scanf(%c,&ch);if(ch=='')T=NULL;else{T=(structBiTNode*)malloc(sizeof(structBiTNode));T-data=ch;CreateBiTree(T-lchild);CreateBiTree(T-rchild);}}intprint(BiTreeT)//前序遍历(输出二叉树){if(T==NULL)return0;elseif(T-lchild==NULL&&T-rchild==NULL)return1;elsereturnprint(T-lchild)+print(T-rchild);}voidmain()//主函数{BiTreeT;CreateBiTree(T);printf(%d\n,print(T));}算法实现二:#includestdio.h#includestdlib.hstructBiTNode//定义结构体{chardata;structBiTNode*lchild,*rchild;};intnum=0;voidCreatBiTree(structBiTNode*&p)//前序创建树{charch;scanf(%c,&ch);if(ch=='')p=NULL;else{p=(structBiTNode*)malloc(sizeof(structBiTNode));p-data=ch;CreatBiTree(p-lchild);CreatBiTree(p-rchild);}}voidprint(structBiTNode*p)//前序遍历(输出二叉树){if(p!=NULL){if(p-lchild==NULL&&p-rchild==NULL)else{print(p-lchild);print(p-rchild);}}}voidmain()//主函数{structBiTNode*p;CreatBiTree(p);print(p);printf(%d\n,num);}供测试使用的数据前序创建二叉树中序后序/*ABDC*/BDACDBCA/*ABCDEFG*/CBDAFEGCDBFGEA
本文标题:C语言实现二叉树的前序遍历(递归)
链接地址:https://www.777doc.com/doc-4457973 .html